नया, मैं पोर्ट स्कैनिंग के लिए एक कार्यक्रम पर काम कर रहा हूं, टीसीपी अच्छी तरह से काम करता है, लेकिन मुझे नहीं पता कि यूडीपी बंदरगाहों को स्कैनिंग कैसे करें। मान लें कि मैं जानना चाहता हूं कि इस लैन में किसी अन्य होस्ट पर यूडीपी पोर्ट 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";
}
अभी भी एक नौसिखिया, अभी भी सीख रहा है। धन्यवाद!
धन्यवाद, लेकिन मैं उस आईसीएमपी त्रुटि संदेश को कैप्चर कैसे करूं? – ralphxiaoz
डेटाग्राम सॉकेट # भेज एक पोर्टUnreachableException फेंक देगा जो आप पकड़ सकते हैं। – artbristol
धन्यवाद! वास्तव में – ralphxiaoz