Bir UDP bağlantı noktasına ping atmak biraz zordur, çünkü bağlantı yoktur . Uzak ana bilgisayar üzerinde denetiminiz yoksa, UDP datagramlarınızın gerçekten alınıp alınmadığını asla bilemeyebilirsiniz. Ben aracılığıyla, zaten uzak ana erişilebilir olup olmadığını bilmek farz ping
, traceroute
, mtr
vb (Değilse, ilk kontrol edin!)
Sonra, sahip olmadığınız için netcat
UDP paketleri oluşturmanın bir yoluna ihtiyacınız olacak.
bash
Eğer özel cihaza veri aktarımı yaparken kabuk UDP paketleri gönderir /dev/udp/host/port
. Örneğin:
#!/bin/bash
host="10.10.10.10"
port=12345
echo "PING" >/dev/udp/$host/$port
Python, elbette, UDP'yi de tamamen yapabilir, ör.
#!/bin/python
import socket
host="10.10.10.10"
port=12345
udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_sock.sendto('PING', (host, port))
UDP "ping" paketinizi nasıl oluşturduğunuza bakılmaksızın, hedefin onu alıp almadığını bilmek isteyeceksiniz. Hedef port açıksa (yani bir servis verilen portta dinliyorsa) ne olacağı uygulama tarafından tanımlanır. Umarım, uzaktaki sistemden bazı davranışlar veya göstergeler fark edersiniz.
Hedef bağlantı noktası kapalıysa (yani bu bağlantı noktasında hiçbir hizmet dinlenmiyorsa), yanıt olarak bir ICMP hata paketi almanız gerekir . İzlemek için en sevdiğiniz tel düzeyi ağ algılayıcısını kullanın. Veya, belki HP-UX sisteminiz ICMP hatalarını bir yere kaydeder (üzgünüm, HP-UX ile herhangi bir deneyimim yok).
Ne yazık ki, hedef güvenlik duvarı ise, hedef bağlantı noktası kapalıyken yanıt alamayabilirsiniz. Uzak ana bilgisayarın yanıt verip vermediğini bilmenin tek kesin yolu UDP verilerine bağlı uygulamanızı çalıştırmak ve ağ trafiğini izlemek.