java 线程池端口扫描
来源:互联网 发布:链接wifi无法加入网络 编辑:程序博客网 时间:2024/06/06 07:32
第一篇博客, 不知怎么写. 一句话: 利用线程池技术实现端口扫描(TCP).
关键代码如下:
// 扫描本机
private void getLocal()
{
String ip = getIP();
String portStart = txPortStart1.getText().trim();
String portEnd = txPortEnd1.getText().trim();
if (portStart.length() == 0 || portEnd.length() == 0)
return;
int s = 0;
int e = 0;
try {
s = Integer.valueOf(portStart);
e = Integer.valueOf(portEnd);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "端口输入有误");
return;
}
// 检查端口是否超出范围
if (! (checkPort(s) && checkPort(e)))
{
JOptionPane.showMessageDialog(null, "端口应该大于0而小于65535");
return;
}
scann(ip, s, e);
runThread(); // 启动线程, 监视扫描是否已完成
}
private String getIP()
{
try {
InetAddress addr = InetAddress.getLocalHost();
return addr.getHostAddress().toString(); // ip
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "获取IP出错!");
}
return null;
}
// 扫描单个IP
private void scann(String ip, int startPort, int endPort)
{
// 将所有按钮设为不可用
setBtnEdit(false);
status.setText("请稍候...");
String[] add = {ip, ""};
table.addRow(add);
exec = Executors.newFixedThreadPool(10);
for (int i = startPort; i <= endPort; i++)
exec.execute(new RunSocket(ip, i));
exec.shutdown();
}
- java 线程池端口扫描
- JAVA端口扫描
- Java端口扫描
- 端口扫描原理,(java)UDP端口扫描
- 单线程端口扫描
- 端口扫描程序(java)
- 端口扫描程序(java)
- 端口扫描程序(java)
- 端口扫描程序java实现
- 端口扫描程序(java)
- 端口扫描程序(java)
- 端口扫描程序[JAVA]
- java实现端口扫描
- 端口扫描
- 端口扫描
- 端口扫描
- 端口扫描
- 端口扫描
- 小型的C++项目团队组建-Adams Wang
- UNICODE
- GNU Debian 很出色的发行版
- VB.NET和VC#.NET中控件数组的建立
- [转-来自啊泰][模板制作技巧4]背景隔行换色 [http://www.cnblogs.com/babyt/archive/2005/03/13/118095.html]
- java 线程池端口扫描
- VB.NET状态栏控件上添加任意控件
- P2P 之 UDP穿透NAT的原理与实现(附源代码)(转载)
- VB.Net中动态创建Access数据库
- Java调用DLL技术调研
- 软件开发中的交流问题-Adams Wang
- C# 时间处理
- Windows的第五种群集方案 - CCS
- C++异常处理机制总结