여기 새로와서, 포트 스캐닝을위한 프로그램을 작성 중입니다. TCP는 잘 작동하지만, UDP 포트 스캐닝을 어떻게하는지 모릅니다. 이 LAN에있는 다른 호스트의 UDP 포트 XXXX가 열려 있는지 여부를 알고 싶습니다. 이 코드가 작동합니까? 그렇지 않다면 무엇이 문제입니까?, UDP 포트 스캐닝을 달성하는 방법?
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";
}
아직 배우는 초보자. 덕분에 !
감사하지만 어떻게 ICMP 오류 메시지를 캡처합니까? – ralphxiaoz
DatagramSocket # send는 잡을 수있는 PortUnreachableException을 던집니다. 덕분에 – artbristol
! 정말 도움이 – ralphxiaoz