tcpdump
dapat melakukan ini, dan tersedia hampir di semua tempat:
tcpdump -n -i enp0s25 icmp
akan membuang semua paket ICMP yang masuk dan keluar pada enp0s25
.
Untuk melihat hanya permintaan gema ICMP:
tcpdump -n -i enp0s25 "icmp[0] == 8"
(-n
menghindari pencarian DNS, yang dapat menunda pelaporan paket dan memperkenalkan sendiri lalu lintas yang tidak diinginkan.)
Ini memungkinkan Anda untuk mengetahui apakah ia menerima paket dari mesin lain (dari mana Anda akan mis. ping
itu), jadi masalahnya ada pada jalur pengembalian, atau jika mereka tidak langsung tiba.
Terlepas dari saran @Stephen Kitt, Anda dapat menjalankan tcpdump
untuk memfilter paket hanya dalam satu arah:
# see if the icmp request exits the interface
tcpdump -nQ out 'icmp'
tshark
adalah alat berguna lainnya yang dapat Anda gunakan dan tidak mengharuskan Anda menjalankannya sebagai root:
tshark -nf "icmp && (icmp[icmptype] == icmp-echo)"
terpisah menangkap paket Anda dapat mengurai output dari
netstat -s
yang mencetak statistik untuk setiap soket jaringan, contohnya adalah sebagai berikut:
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