怎么样扫描计算机系统本地和远程的端口,监测其是打开还是关闭的在很多应用程序中都要用到,下面是用java实现的简单的端口扫描程序。
Source Code:
--------------------------------------------------------------------------------
/*
* Created on 2005-3-22
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author whandey connect to me:
[email protected]
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.io.*;
import java.net.*;
import java.util.*;
public class SocketPort {
public static void main(String[] args) {
String ip = "159.162.39.27";
String hostname = new String();
try{ //get the target ip address and hostname
InetAddress address = InetAddress.getByName(ip);
System.out.println(address);
hostname = address.getHostName();
System.out.println(hostname);
}
catch(UnknownHostException e)
{
System.out.println("Could not find "+ ip);
}
try
{ // creat the output file
PrintWriter fout = new PrintWriter( new FileWriter("PortInf.txt"));
fout.println("Information Of The Port On the " + hostname +"computer ");
fout.println();
// do ports scan
for(int nport = 25;nport < 30;++nport)
{
try
{
Socket s = new Socket(hostname,nport);
fout.println("The port " + nport + " is open!");
fout.println("Connected to "+ s.getInetAddress() + " on port " + s.getPort() + " from port "+ s.getLocalPort() + " of " + s.getLocalAddress());
//print the connected socket information
}
catch(IOException e)
{
fout.println("The port " + nport + " is closed!");
}
}
fout.close();
}
catch(IOException e){}
}
}