Como monitorar quem está me pingando?


24

Existe uma maneira de saber quem está executando ping no meu PC na minha rede? É possível monitorar todos os pacotes ICMP? Como eu posso fazer isso?

Respostas:


33

Sim, isso é possível usando tcpdump, que é uma ferramenta mais poderosa e amplamente usada para sniffer de pacotes de linha de comando ou analisador de pacotes disponível no linux.

No terminal do computador que você deseja monitorar:

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

Opções:

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

Ele começará a ouvir no ethX e aguardar os pacotes que chegarem.

Exemplo: Eu tenho 2 pc win7 10.1.1.8 , Ubuntu 10.1.1.57 que monitorará os pacotes que chegaram:

insira a descrição da imagem aqui

No ubuntu:

insira a descrição da imagem aqui

Referência: nixCraft


1
Correção pequena: -nmostra o IP em vez dos nomes DNS , não o endereço MAC. Portanto, executar com -n evita uma consulta DNS reversa (potencialmente lenta).
— Rmano

Eu usei placa wireless (wlan0), mas sem retorno para mim usando o código Ubuntu.
— Satya Prakash

6

Bom treino @nux Gostei.

Também gostaria de adicionar o meu truque que utilizo para descobrir quem está me fazendo ping usando a avahiferramenta (pode ser instalada a partir de Synaptic).

Quando corro no terminal avahi-browse -rat, ele compila automaticamente a lista completa de conexões, por exemplo:

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

Por exemplo, sempre consigo ver quando meu provedor de Internet está fazendo ping durante a sessão, quando executo este comando.

Para ver tudo o que a avahi pode fazer, execute:

avahi-browse --help 

eu gostaria soluções simples sem instalar qualquer pacote, mas não tem problema
— nux

sim concordo que depende do desejo de todos, mas esta ferramenta tem mais funções não só ping-lo permite descobrir serviços e hosts etc
— JoKeR

1

Este pacote deve simplesmente ser instalado (se você não o tiver):

sudo apt-get install iptables-persistent

Em seguida, adicione este comando ao /etc/iptables/rules.v4arquivo:

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

Para verificar quem faz pings, basta verificar o arquivo de log:

grep 'LOG_IPTABLES_PING_REQUEST: ' /var/log/messages

Você também pode usar aplicativos de monitoramento como o Wireshark .


deveria ser / var / log / syslog?
— enthusiasticgeek
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.