一个简单的端口扫描程序
2006-02-09 11:41
507 查看
有天无聊,用java写了一个简单的端口扫描程序,可以扫描到一个主机上哪些端口被绑定服务。
src code:
/*
* Created on 2005-12-20
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.java2ee.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* @author islandhill
*
* 该例实现了一个端口扫描器,通过建立socket连接来检测主机上已经绑定的服务和端口。
* 如果对于未绑定服务的端口,会有IOEXCEPTION的异常,因此不会打印。
*/
public class PortScanner {
private static String hostName;
private static int startPort; //开始端口
private static int endPort; //结束端口。
static
{
hostName="localhost";
startPort=0;
endPort=100;
}
public static void main(String[] args) {
System.out.println("pls input following the format:hostname,startPort,endPort");
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String line=null;
String[] lineArray=new String[3];
try
{
if((line=reader.readLine())!=null)
{
lineArray=line.split(",");
hostName=lineArray[0];
startPort=Integer.parseInt(lineArray[1]);
endPort=Integer.parseInt(lineArray[2]);
scanPort();
}
}catch(Exception e)
{
System.out.println("An exception has occoured");
}
}
public static void scanPort()
{
try
{
InetAddress Iaddr=InetAddress.getByName(hostName);
System.out.println("********Start of Port scanning**********");
for(int i=startPort;i<=endPort;i++)
{
try
{
//定义socket对象。
Socket socket=new Socket(Iaddr,i);
System.out.println("There is a server on port:"+i+" of host "+hostName);
}catch(IOException e)
{
// e.printStackTrace();
}
}
System.out.println("********End of Port scanning**********");
}catch(UnknownHostException e)
{
System.out.println("Host not found");
}
}
}
src code:
/*
* Created on 2005-12-20
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.java2ee.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* @author islandhill
*
* 该例实现了一个端口扫描器,通过建立socket连接来检测主机上已经绑定的服务和端口。
* 如果对于未绑定服务的端口,会有IOEXCEPTION的异常,因此不会打印。
*/
public class PortScanner {
private static String hostName;
private static int startPort; //开始端口
private static int endPort; //结束端口。
static
{
hostName="localhost";
startPort=0;
endPort=100;
}
public static void main(String[] args) {
System.out.println("pls input following the format:hostname,startPort,endPort");
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String line=null;
String[] lineArray=new String[3];
try
{
if((line=reader.readLine())!=null)
{
lineArray=line.split(",");
hostName=lineArray[0];
startPort=Integer.parseInt(lineArray[1]);
endPort=Integer.parseInt(lineArray[2]);
scanPort();
}
}catch(Exception e)
{
System.out.println("An exception has occoured");
}
}
public static void scanPort()
{
try
{
InetAddress Iaddr=InetAddress.getByName(hostName);
System.out.println("********Start of Port scanning**********");
for(int i=startPort;i<=endPort;i++)
{
try
{
//定义socket对象。
Socket socket=new Socket(Iaddr,i);
System.out.println("There is a server on port:"+i+" of host "+hostName);
}catch(IOException e)
{
// e.printStackTrace();
}
}
System.out.println("********End of Port scanning**********");
}catch(UnknownHostException e)
{
System.out.println("Host not found");
}
}
}
相关文章推荐
- 一个简单的端口扫描程序
- 一个简单的端口扫描程序
- 一个简单的端口扫描程序
- 用Python写的一个简单的端口扫描程序
- 一个简单的端口扫描程序题
- 一个简单的端口扫描程序题
- 简单地一个DOS端口映射程序
- 实战Registry和RegistryKey类,一个简单的可疑文件扫描程序
- Python构造简单端口扫描程序
- C#网络编程 (五) 简单端口扫描程序
- 通过编写一个简单的漏洞扫描程序学习Python基本语句
- 一个简单的扫描目录的程序
- Python端口扫描简单程序
- 一个51单片机的键盘扫描程序,算法简单有效
- 一个简单的页面扫描程序Scan
- 一个简单的TCP扫描程序
- 一个用来扫描主机端口的AIR 程序 (在Flex 4+AIR 2.0/Beta 2 下实现)
- 如何编写简单的端口扫描程序:
- 实战Registry和RegistryKey类,一个简单的可疑文件扫描程序
- Python端口扫描简单程序