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?

nux
fonte

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

nux
fonte
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 
Palhaço
fonte
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 .

Maythux
fonte
deveria ser / var / log / syslog?
enthusiasticgeek