tcpdump
to umí a je k dispozici téměř všude:
tcpdump -n -i enp0s25 icmp
vypíše všechny příchozí a odchozí ICMP pakety na enp0s25
.
Chcete-li zobrazit pouze požadavky na echo ICMP:
tcpdump -n -i enp0s25 "icmp[0] == 8"
(-n
vyhýbá se vyhledávání DNS, které může zpozdit hlášení paketů a zavést vlastní nežádoucí provoz.)
To vám umožní zjistit, zda přijímá pakety z jiného počítače (ze kterého byste např. ping
it), takže problém je se zpáteční cestou, nebo pokud přímo nedorazí.
Kromě návrhu @Stephena Kitta můžete spustit tcpdump
pro filtrování paketu pouze jedním směrem:
# see if the icmp request exits the interface
tcpdump -nQ out 'icmp'
tshark
je další užitečný nástroj, který můžete použít a nevyžaduje, abyste jej spouštěli jako root:
tshark -nf "icmp && (icmp[icmptype] == icmp-echo)"
aparte packet capture můžete analyzovat výstup
netstat -s
který tiskne statistiku pro každý síťový soket, příklad by byl následující:
netstat -s | grep -Eo "^[[:space:]]+[[:digit:]]+ ICMP messages sent$"; 1>/dev/null ping -c1 -w1 host; !-1
28 ICMP messages sent
30 ICMP messages sent