netcat like tool but instead of using TCP/UDP, this tool uses data field of
ICMP Echo Messages
to carry bytes to the destination.
Sometimes network firewalls can be configured incorrectly. A network may not allow any TCP/UDP traffic but allow ICMP. In these situations, this tool can be helpful for copying files from one host to another.
You can install this program via cargo:
cargo install --git https://github.com/sseyren/pingcat.gitBefore using it, make sure that the binary has sufficient capabilities:
sudo setcap CAP_NET_RAW=ep $HOME/.cargo/bin/pingcatAfter this, you can start listening for 10.0.0.1 (from host 10.0.0.2):
pingcat listen 10.0.0.1 -e 12345Now, from host 10.0.0.1, you can send some bytes to 10.0.0.2:
echo "hello world" | pingcat send 10.0.0.2 -e 12345After this, you will see that message from other host.