./c0de/php/portscan.txt

0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
code:  <?php
 
set_time_limit(0);
error_reporting(0);
 
echo "PHP Portscanner by TheMagician.\n\n";
 
if($argc == 3)
{
  if(strpos($argv[2], "-"))
  {
    $ports = explode("-", $argv[2]);
  }
  else
  {
    $port = $argv[2];
  }
  $host = $argv[1];
}
else
{
  echo "Syntax: php $argv[0] 127.0.0.1 1-65535\n";
  exit;
}
 
while(true)
{
  if(isset($ports))
  {
    if($ports[0] < 1)
    {
      $start = 1;
    }
    else
    {
      $start = $ports[0];
    }
    if($ports[1] > 65535)
    {
      $end = 65535;
    }
    else
    {
      $end = $ports[1];
    }
 
    for($start; $start <= $end; $start++)
    {
      $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
      if(socket_connect($sock, $host, $start))
      {
        echo "Port $start is open.\n";
        socket_close($sock);
      }
      else
      {
        echo "Port $start is not open.\n";
        socket_close($sock);
      }
    }
    break;
  }
  else
  {
    $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    if(socket_connect($sock, $host, $port))
    {
      echo "Port $port is open.\n";
      socket_close($sock);
    }
    else
    {
      echo "Port $port is not open.\n";
      socket_close($sock);
    }
    break;
  }
}
 
?>

Back