This software analyze the network characteristics like Delay, Jitter, Packet loss etc. by sending UDP packet to a host and waiting for that host to echo on the source address.
This software works almost like ping but produces more detailed analysys and can also monitor available bandwidth.
It is composed by a Packet Generator and a Packet Receiver/analyzer
Packet Generator is a simple UDP stream generator, where you can set:
Packet Receiver is a very basic udp socket that receive the stream generated by the Packet generator.
Since the stream is produced and consumed on the same machine, is is very easy to analyze:
Example:
SRC_PC_ADDRESS: The pc IP Address where you run the Network Analyzer
DST_PORT: The port you specify as destination Address-Port in network analyzer
1 2 3 4 | #!/bin/bash sysctl -w net.ipv4.ip_forward=1 iptables -t nat -A PREROUTING -p udp -m udp --dport DST_PORT -j DNAT --to-destination SRC_PC_ADDRESS iptables -t nat -A POSTROUTING -p udp -m udp --dport DST_PORT -j MASQUERADE |
I'm not finding any tool to easily "echo" on a UDP port you must provide a mechanism to echoing the stream on the target server. It would be nice to change protocol from UDP to ICMP to have a pre-defined application on each computer but ICMP would be limiting because many hosts limit the numbers of reply per seconds and the bandwidth test wouldn't work at all or may be producing unexpected results.
I'll post a UDPEchoer project later if there will be intrest on this project.