Skip to content

Instantly share code, notes, and snippets.

@akalongman
Created May 7, 2014 12:32
Show Gist options
  • Save akalongman/b50bc11a9303adb6f2db to your computer and use it in GitHub Desktop.
Save akalongman/b50bc11a9303adb6f2db to your computer and use it in GitHub Desktop.
Port scanner on PHP
<?php
ini_set('max_execution_time', 0);
ini_set('memory_limit', -1);
$host = 'google.com';
$ports = array(21, 25, 80, 81, 110, 143, 443, 587, 2525, 3306);
foreach ($ports as $port)
{
$connection = @fsockopen($host, $port, $errno, $errstr, 2);
if (is_resource($connection))
{
echo '<h2>' . $host . ':' . $port . ' ' . '(' . getservbyport($port, 'tcp') . ') is open.</h2>' . "\n";
fclose($connection);
}
else
{
echo '<h2>' . $host . ':' . $port . ' is not responding.</h2>' . "\n";
}
}
@crypto-maniac
Copy link

hello , this is an old thread but im curious to know how to put the url as variable and all in a loop
so the script is able to process many URL from a .txt
thanks for the help

@bragle
Copy link

bragle commented Nov 11, 2018

@crypto-maniac I think you should try to google a little bit before asking for help (cause you would have figured it out if you tried), but here's some code to get you started:

$document = file_get_contents('urls.txt');
$hosts = explode(PHP_EOL, $document);
$ports = [21, 25, 80, 81, 110, 143, 443, 587, 2525, 3306];

foreach($hosts as $host){
	//just copy pasta from line 8 to 22
}

@rafaelvr
Copy link

Congratulations on the code, it helped a lot but I have a problem when testing port 3389 rdp, could you help me?

@namcity86
Copy link

Example: I want to check for 100 IP addresses, with 3 ports 20, 40, 60. Can anyone help me with a complete code to run the check port loop of 100 IP addresses? Thanks everyone

@andrewpisula
Copy link

Example: I want to check for 100 IP addresses, with 3 ports 20, 40, 60. Can anyone help me with a complete code to run the check port loop of 100 IP addresses? Thanks everyone

Do you still need help?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment