#!/usr/bin/php 21,'color'=>"\e[0;47m",'name'=>'FTP'], ['port'=> 22,'color'=>"\e[0;47m",'name'=>'SSH'], ['port'=> 23,'color'=>"\e[0;47m",'name'=>'Telnet'], ['port'=> 25,'color'=>"\e[0;44m",'name'=>'SMTP'], ['port'=> 53,'color'=>"\e[0;44m",'name'=>'DNS'], ['port'=> 80,'color'=>"\e[0;42m",'name'=>'HTTP'], ['port'=> 110,'color'=>"\e[0;44m",'name'=>'POP'], ['port'=> 143,'color'=>"\e[0;47m",'name'=>'IMAP'], ['port'=> 161,'color'=>"\e[0;47m",'name'=>'SNMP'], ['port'=> 162,'color'=>"\e[0;47m",'name'=>'SNMPTRAP'], ['port'=> 389,'color'=>"\e[0;47m",'name'=>'LDAP'], ['port'=> 443,'color'=>"\e[0;42m",'name'=>'HTTPS'], ['port'=> 465,'color'=>"\e[0;44m",'name'=>'SMTPs'], ['port'=> 587,'color'=>"\e[0;44m",'name'=>'SMTP'], ['port'=> 993,'color'=>"\e[0;47m",'name'=>'IMAPs'], ['port'=> 3306,'color'=>"\e[0;47m",'name'=>'MySql'], ['port'=> 3389,'color'=>"\e[0;45m",'name'=>'RDP'], ['port'=> 5060,'color'=>"\e[0;46m",'name'=>'SIP'], ['port'=> 5900,'color'=>"\e[0;45m",'name'=>'VNC'], ['port'=> 5901,'color'=>"\e[0;45m",'name'=>'VNC'], ['port'=> 7071,'color'=>"\e[0;42m",'name'=>'?'], ['port'=> 7547,'color'=>"\e[0;47m",'name'=>'TR069'], ['port'=> 8000,'color'=>"\e[0;47m",'name'=>'?'], ['port'=> 8001,'color'=>"\e[0;47m",'name'=>'?'], ['port'=> 8889,'color'=>"\e[0;47m",'name'=>'?'], ['port'=> 8291,'color'=>"\e[0;42m",'name'=>'Winbox'], ['port'=> 8299,'color'=>"\e[0;42m",'name'=>'Winbox'], ]; function GetAllIpInCidr($ip,$mask) { $ToReturn = []; $maskBinStr = str_repeat("1", $mask ).str_repeat("0", 32-$mask ); $inverseMaskBinStr = str_repeat("0", $mask).str_repeat("1", 32-$mask); $ipLong = ip2long($ip); $ipMaskLong = bindec($maskBinStr); $inverseIpMaskLong = bindec($inverseMaskBinStr); $netWork = $ipLong & $ipMaskLong; $start = $netWork+1; # ignore network ID(eg: 192.168.1.0) $end = ($netWork | $inverseIpMaskLong) -1 ; # ignore brocast IP(eg: 192.168.1.255) for ($ip = $start; $ip <= $end; $ip++) $ToReturn[] = long2ip($ip); return $ToReturn; } if( count($argv) != 2) { die(" \e[40;38;5;82m Dax \e[30;48;5;82m portscanner \e[0m 1.0 Usage: portscan 82.215.181.0/24 portscan 8.8.8.8 "); } $IPS = []; $argv[1] = str_replace('http://','',$argv[1]); $argv[1] = str_replace('https://','',$argv[1]); $argv[1] = rtrim($argv[1],'/'); if( strpos($argv[1],'/') === false ) { $IPS[] = $argv[1]; echo "\n Scan of $argv[1]...\n"; } else { list($net,$mask) = explode('/',$argv[1]); $IPS = GetAllIpInCidr($net,$mask); echo "\n Scan of ".count($IPS)." hosts...\n"; } echo "\n"; foreach( $IPS as $IP ) { foreach($Ports as $port) { $fp = @fsockopen($IP, $port['port'], $errno, $errstr, 0.1); if ($fp) { $label = str_pad( $port['name'], 10,' ', STR_PAD_BOTH ); echo " $port[color] \e[30m$label\e[0m $IP:$port[port]\n"; } } } ?>