En este simple post se explica como un usuario scaneó su pais utilizando masscan :
Los pasos que siguió fueron simples. Descargó este archivo: https://download.ip2location.com/lite/IP2LOCATION-LITE-DB1.CSV.ZIP (IPs ordenadas por países)
También uso este otro script: https://gist.github.com/chrisiaut/8473c8c0f28ca929e6f84e4e3d068241 para dar el formato adecuado a las IPs.
Seguir las instrucciones para ponerlo en práctica en nuestros respectivos países (no significa que yo lo haya hecho) es relativamente simple.
Solo hay que seguir las instrucciones del post original cambiando la palabra Australia por nuestro país a scanear.
1-En caso de argentina habria que descargar el zip que contiene las IPs.
2-grep Argentina IP2LOCATION-LITE-DB1.CSV > argentina.csv
3-Usar el script adaptado:
<?php
$infile = ‘argentina.csv’;
$outfile = ‘argentina.ips’;
$fp = fopen($outfile,’w’);
$handle = fopen($infile, “r”);
if ($handle)
{
while (($line = fgets($handle)) !== false) {
$line = trim($line);
$a = explode(‘,’,$line);
$from = str_replace(‘”‘,”,$a[0]);
$to = str_replace(‘”‘,”,$a[1]);
for($i=$from;$i<$to;$i++)
{
$ip = long2ip($i);
fwrite($fp,$ip.”\n”);
if(++$j % 10000==0)
echo “.”;
}
}
fclose($handle);
}
fclose($fp);
4-finalmente: scannear masivamente el puerto que te interese:
masscan -p445 --rate 300 -iL argentina.ips -oG argentina.445.scan && cat argentina.445.scan | wc -l
El merito pertencea al autor de este post que usó su valioso tiempo y demostrar interes en la seguridad de su país: https://blog.haschek.at/2019/i-scanned-austria.html