Advertisement
crayawn

FSOCK Port Scanner

Jun 25th, 2013
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.07 KB | None | 0 0
  1. <form class="form-horizontal" action="" method="post">
  2.     <div class="control-group">
  3.         <label class="control-label">Domain / IP</label>
  4.         <div class="controls">
  5.             <input type="text" class="input-xxlarge" name="domain" />
  6.         </div>
  7.     </div>
  8.     <div class="control-group">
  9.         <label class="control-label">Ports</label>
  10.         <div class="controls">
  11.             <input type="text" name="ports" class="input-xxlarge" placeholder="Enter each port seperated by a comma." />
  12.         </div>
  13.     </div>
  14.     <div class="control-group">
  15.         <div class="controls">
  16.             <input type="submit" name="submit" value="Scan" class="btn btn-primary" />
  17.         </div>
  18.     </div>
  19. </form>
  20. <br /><br />
  21.  
  22. <?php
  23.  
  24. /*
  25. *
  26. * Port Scanner (via fsock)
  27. * (c)2013 Dennis Kupec
  28. *
  29. */
  30.  
  31. error_reporting(0);
  32.  
  33. if(isset($_POST['submit'])) {  
  34.     $list = $_POST['ports'];
  35.     $domain = $_POST['domain'];
  36.  
  37.     if(!$list) $error = "Enter ports to test seperated by a comma.";
  38.     if(!$domain) $error = "Enter an IP or domain to test.";
  39.  
  40.     if($error) echo($error);
  41.     else {
  42.         $list = str_replace(" ", "", $list);
  43.         $ports = explode(",", $list);
  44.    
  45.         $results = array();
  46.         foreach($ports as $port) {
  47.             if($pf = @fsockopen($domain, $port, $err, $err_string, 1)) {
  48.                 $results[$port] = true;
  49.                 fclose($pf);
  50.             } else {
  51.                 $results[$port] = false;
  52.             }
  53.         }
  54.        
  55.         echo("<b>Domain/IP Tested: </b>".$domain."<br /><br /><table class='table table-bordered'><tr><td><b>Port Number</b></td><td><b>Is Open?</b></td></tr>");
  56.         foreach($results as $port=>$val)    {
  57.             $prot = getservbyport($port,"tcp");
  58.                 echo("<tr><td>".$port." (".$prot.")</td>");
  59.             if($val) {
  60.                 echo "<td><span style=\"color:green\">Open</span></td>";
  61.             }
  62.             else {
  63.                 echo "<td><span style=\"color:red\">Closed</span></td>";
  64.             }
  65.         }
  66.         echo("</table>");
  67.     }
  68. }
  69. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement