Advertisement
Guest User

udp scan

a guest
Dec 1st, 2013
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. $ip = '8.8.8.8';
  4. $port = '53';
  5. $timeout = 10; // seconds
  6.  
  7. $socket = socket_create(AF_INET, SOCK_RAW, getprotobyname('udp'));
  8. if(!$socket) {
  9.     die('Aborting');
  10. }
  11.  
  12. require_once 'Hexdump.php';
  13.  
  14. $packet = pack (
  15.  'nnnn', 0, $port, 8, 0
  16. );
  17.  
  18. hexdump($packet);
  19.  
  20. socket_sendto($socket, $packet, strlen($packet), 0, $ip, $port);
  21.  
  22. while(TRUE){
  23.     $read   = array($socket);
  24.     $write  = NULL;
  25.     $except = NULL;
  26.  
  27.     $select = socket_select($read, $write, $except, $timeout);
  28.     if ($select === FALSE)
  29.     {
  30.         die(socket_strerror(socket_last_error($socket)));
  31.     }
  32.  
  33.     if ($select === 0)
  34.     {
  35.         // timed out
  36.         continue;
  37.     }
  38.  
  39.     // we cannot receive the ICMP response in PHP, as the
  40.     // PHP engine will handle this "for us" :|
  41.     $ret = @socket_recvfrom($socket, $recv, 65535, 0, $host, $port);
  42.     if(!$ret) {
  43.         die(socket_strerror(socket_last_error($socket)));
  44.     }
  45.  
  46.     echo "\n";
  47.     hexdump($recv);
  48.  
  49.     // we got a response, the port is open
  50.     die('port open');
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement