(转)TCP端口扫描程序


import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

class TCPThread extends Thread {
private String host = null;

private int threadnum = 0;

public TCPThread(String name, String host, int threadnum) {
super(name);

this.host = host;

this.threadnum = threadnum;

}

public void run() {
Socket theTCPsocket;

InetAddress hostAddress;

System.out.println("Thread " + getName()
+ " now is created and running");

try {
hostAddress = InetAddress.getByName(host);

for (int i = threadnum; i < 65535; i += 60) {
System.out.println("Thread " + getName() + " is Scanning port:"
+ i);

try {
theTCPsocket = new Socket(hostAddress, i);

System.out.println("Thread " + getName()
+ " find The TCP port " + i + " of " + host
+ " is open");

switch (i) {
case 21:

System.out
.println("(maybe there is a FTP server is running)");

break;

case 23:

System.out
.println("(maybe there is a TELNET server is running)");

break;

case 25:

System.out
.println("(maybe there is a SMTP server is running)");

break;

case 80:

System.out
.println("(maybe there is a HTTP server is running)");

break;

case 110:

System.out
.println("(maybe there is a POP server is running)");

break;

case 139:

System.out
.println("(This server's netBIOS is reachable)");

break;

}
theTCPsocket.close();

} catch (IOException e) {
}
}
} catch (UnknownHostException e) {
System.err.println("The host:" + host
+ " is unknown or can not be analysed!");

}
}
}

public class ThreadScan {
public static void main(String[] args) {
String host;
if (args.length < 1) {
host = "localhost";

} else {
host = args[0];

}
for (int i = 0; i < 60; i++) {
new TCPThread("T" + i, host, i).start();

}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值