Come monitorare chi mi sta eseguendo il ping?


24

C'è un modo per sapere chi sta eseguendo il ping del mio PC sulla mia rete? È possibile monitorare tutti i pacchetti ICMP? Come lo posso fare?

Risposte:


33

Sì, è possibile utilizzare tcpdump, che è uno sniffer di pacchetti a riga di comando o strumento di analisi dei pacchetti più potente e ampiamente utilizzato disponibile su Linux.

Nel Terminale del computer vuoi minitorare:

sudo tcpdump -i ethX icmp and icmp[icmptype]=icmp-echo

Opzioni:

-n avoid a (potentially slow) reverse DNS query
−i interface
icmp[icmptype]=icmp-echo    To print all ICMP packets that are echo requests/replies

Comincerà ad ascoltare su ethX e ad aspettare i pacchetti arrivati.

Esempio: ho 2 pc win7 10.1.1.8 , Ubuntu 10.1.1.57 che monitorerà i pacchetti arrivati:

inserisci qui la descrizione dell'immagine

Su Ubuntu:

inserisci qui la descrizione dell'immagine

Riferimento: nixCraft


1
Piccola correzione: -nmostra IP anziché i nomi DNS , non l'indirizzo MAC. Quindi l'esecuzione con -n evita una query DNS inversa (potenzialmente lenta).
Rmano,

Ho usato la scheda wireless (wlan0) ma per me non è stato possibile utilizzare il codice Ubuntu.
Satya Prakash,

6

Buon allenamento @nux Mi è piaciuto.

Vorrei anche aggiungere il mio trucco che uso per trovare chi mi sta eseguendo il ping utilizzando lo avahistrumento (può essere installato da Synaptic).

Quando corro nel terminale avahi-browse -rat, compila automaticamente l'elenco completo delle connessioni, ad esempio:

hostname = [xxx-xxx.local]
address = [xxx::x:xxx:xxx:xxx:xxx] physical
address = [xx.xx.xxx.xx] ipv4 or ipv6
port = [xxx]
txt = [xxx]

Ad esempio, posso sempre vedere quando il mio provider Internet mi sta eseguendo il ping durante la mia sessione, quando eseguo questo comando.

Per vedere tutto ciò che avahi può fare, esegui:

avahi-browse --help 

Vorrei soluzioni semplici senza installare alcun pacchetto, ma va bene
nux

sì, sono d'accordo che dipende dal desiderio di tutti, ma questo strumento ha più funzioni, non solo il ping consente di scoprire servizi e host, ecc.
JoKeR

1

Questo pacchetto deve essere semplicemente installato (se non lo hai):

sudo apt-get install iptables-persistent

Quindi aggiungi questo comando al /etc/iptables/rules.v4file:

-A INPUT -p icmp --icmp-type echo-request -j LOG --log-prefix "LOG_IPTABLES_PING_REQUEST: "

Per verificare chi ti esegue il ping, basta controllare il file di registro:

grep 'LOG_IPTABLES_PING_REQUEST: ' /var/log/messages

È inoltre possibile utilizzare un'applicazione di monitoraggio come Wireshark .


dovrebbe essere / var / log / syslog invece?
enthusiasticgeek,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.