用Java实现给定目的ip地址,可以扫描目的IP地址在哪个端口上可以接受tcp连接和udp连接,并输出扫描结果。
时间: 2024-02-11 18:07:38 浏览: 20
好的,你可以使用Java的Socket类来实现端口扫描。下面是一个简单的示例代码:
```java
import java.net.*;
public class PortScanner {
public static void main(String[] args) {
// 定义要扫描的IP地址和端口范围
String targetIP = "192.168.1.1";
int minPort = 1;
int maxPort = 65535;
// 循环扫描指定范围内的端口
for (int port = minPort; port <= maxPort; port++) {
try {
// 创建一个socket对象
Socket sock = new Socket();
// 设置超时时间,单位为毫秒
sock.setSoTimeout(1000);
// 尝试连接目标IP地址和端口
sock.connect(new InetSocketAddress(targetIP, port), 1000);
// 如果连接成功,说明目标端口开放
System.out.println("Port " + port + " is open");
// 关闭当前连接
sock.close();
} catch (Exception e) {
// 如果连接失败,说明目标端口关闭或者被防火墙过滤
}
}
}
}
```
这个代码可以扫描指定IP地址上的所有TCP端口,如果发现某个端口开放,则输出相应的信息。如果你需要扫描UDP端口,只需要将`new Socket()`改为`new DatagramSocket()`即可。