ping with UDP protocol
How it looks like
root@raspberrypi:~# ./udpping.py 18.104.22.168 4000 UDPping 22.214.171.124 via port 4000 with 64 bytes of payload Reply from 126.96.36.199 seq=0 time=138.357 ms Reply from 188.8.131.52 seq=1 time=128.062 ms Request timed out Reply from 184.108.40.206 seq=3 time=136.370 ms Reply from 220.127.116.11 seq=4 time=140.743 ms Request timed out Reply from 18.104.22.168 seq=6 time=143.438 ms Reply from 22.214.171.124 seq=7 time=142.684 ms Reply from 126.96.36.199 seq=8 time=138.871 ms Reply from 188.8.131.52 seq=9 time=138.990 ms ^C --- ping statistics --- 10 packets transmitted, 8 received, 20.00% packet loss rtt min/avg/max = 128.06/138.44/143.44 ms
Set up a udp echo server at the host you want to ping.
There are many ways of doing this, my favourite way is:
socat -v UDP-LISTEN:4000,fork PIPE
Now a echo server is listening at port 4000.
If you dont have socat, use
apt install socat or
yum install socat, you will get it.
Ping you server.
184.108.40.206 is the IP of your server.
./udpping.py 220.127.116.11 4000
Now UDPping will generate outputs as a normal ping, but the protocol used is
UDP instead of
root@raspberrypi:~# ./udpping.py usage: this_program <dest_ip> <dest_port> this_program <dest_ip> <dest_port> "<options>" options: LEN the length of payload, unit:byte INTERVAL the seconds waited between sending each packet, as well as the timeout for reply packet, unit: ms examples: ./udpping.py 18.104.22.168 4000 ./udpping.py 22.214.171.124 4000 "LEN=400;INTERVAL=2000" ./udpping.py fe80::5400:ff:aabb:ccdd 4000