Library code snippets
PHP Port Scanner
By gringod, published on 05 Sep 2003
Page 1 of 3
- Using The Scanner Class
- Displaying the results
- Conclusion
Using The Scanner Class
In order to use the scanner class you will firstly need to instantiate a scanner object:
$my_scanner = new PortScanner($ip_address1, $ip_address2);When creating the scanner object, you are required to pass 2 ip-addresses to it in the Internet Protocol dotted for (www.xxx.yyy.zzz). This set the range of ip-address which will be scanned. If you only require one ip-address to be scanned then you should pass the same ip-address twice.
Secondly, you need to set the ports which tou wish to scan. This can be done by (1) sending a single number to the function:
$my_scanner->set_ports("21");
or (2) it can be done by passing a range of ports:
$my_scanner->set_ports("1-25");
or lastly (3) it can be done with a comma-seperated combination of the above two:
$my_scanner->set_ports("1-10,21,80,1024-1030");
Thirdy you need to set the timeout to wait for a port response, slower network will require a greater timeout delay:
$my_scanner->set_wait(2);
Fourthly, and last of the parameters to be set, is the scan delay. This causes the scanner to pause between each port it scans. The function takes two arguments, both of which are optional, the first being a delay in seconds, the second being a delay in micro-seconds. If no arugments are sent, the default delay is 0 micro-seconds:
$my_scanner->set_delay(0, 5000);
Now that all the parameters are set, the last thing to do is run the scan. This is done with the statement:
$results = $my_scanner->do_scan();
This returns a structured array the format of which is:
[ip_address] -> [port_number] -> [port_name] |-> [port_status]
for each ip-address is the given range.
Related articles
Related discussion
-
Create this kind of website
by maidentv (1 replies)
-
PHP London July Meetup
by webdeveloperit (1 replies)
-
Binary Studio | software development outsourcing Ukraine
by shane124 (4 replies)
-
SOFTWARE PHP WORK
by synctel (0 replies)
-
London PHP / MySQL Superstar needed!
by gatewaytechnolabs (1 replies)
Related podcasts
-
EarthClassMail.com - Moving from LAMP to .NET 3.5
Scott chats with Matt Davis, architect at EarthClassMail.com, about their move from a LAMP stack (Linux/Apache/mysql/PHP) to .NET 3.5. What's working, what's not, and what kinds of issues are they running into as their architect their solution.
Events coming up
-
Dec
3
The Auckland PHP December meetup
Auckland, New Zealand
Topic: Magento E-Commerce platform Speaker: Robert Popovic, LERO9, Robert is the Technical Director and co-founder of LERO9. Robert attended the Electrotechnical Faculty at The University of Belgrade where he graduated with a Masters in Computer Science and Information Technology. Robert has worked exclusively in the field of web and software development throughout his career.
HI
I unzipped the script and run it, but I got errors.
and it's not so fast as indicated ???!!!
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of fsockopen(). If you would like to enable call-time pass-by-reference, you can set allowcalltimepassreference to true in your INI file. However, future versions may not support this any longer. in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of fsockopen(). If you would like to enable call-time pass-by-reference, you can set allowcalltimepassreference to true in your INI file. However, future versions may not support this any longer. in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:15 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:16 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:17 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:18 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:19 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:20 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:22 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:23 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:24 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:110 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:3306 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:1337 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
Warning: fsockopen(): unable to connect to 216.26.163.133:666 in c:\easyphp\www\wwwvbwebcoukshow30883fportscanner\scanner.class.php on line 103
www.vbweb.co.uk
15 : netstat : closed
16 : N/A : closed
17 : qotd : closed
18 : N/A : closed
19 : chargen : closed
20 : ftp-data : closed
21 : ftp : open
22 : N/A : closed
23 : telnet : closed
24 : N/A : closed
25 : smtp : open
80 : N/A : open
110 : pop3 : closed
3306 : N/A : closed
1337 : N/A : closed
666 : N/A : closed
where to correct ( which .INI file ??)
I would prefer to let my setting as they are and correct in the script itself.
Is there anyway to pass an external parameter to such script ??? (call it from another PHP one)
Good idea, full interest
Happy new year
This thread is for discussions of PHP Port Scanner.