【发布时间】:2011-05-03 10:51:22
【问题描述】:
这里是新的,我正在开发一个端口扫描程序,TCP 运行良好,但我不知道如何实现 UDP 端口扫描。假设我想知道此 LAN 中另一台主机上的 UDP 端口 XXXX 是否打开。这段代码会起作用吗?如果不是,有什么问题?
protected String scanUDP(InetAddress IP, int port)
{
try{
byte [] bytes = new byte[128];
DatagramSocket ds = new DatagramSocket();
DatagramPacket dp = new DatagramPacket(bytes, bytes.length, IP, port);
ds.setSoTimeout(1000);
ds.send(dp);
dp = new DatagramPacket(bytes, bytes.length);
ds.receive(dp);
ds.close();
}
catch(InterruptedIOException e){
return "CLOSED";
}
catch(IOException e){
return "CLOSED";
}
return "OPEN";
}
只是一个新手,还在学习中。 谢谢!
【问题讨论】:
标签: java networking udp