como posso usar o grep para encontrar o número IPV4 em um arquivo pcap com regx syntac?

0

Sou novo no Ubuntu.

Eu tenho esse regex IP '\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b' Eu tenho um arquivo pcap de rede, eu quero usar esse regex e o grep -e para encontrar todos os endereços IP no arquivo.

Eu tentei: egrep '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}' -f Ncapture.pcap

Como posso usar o comando grep para encontrar o IP em um arquivo pcap de rede?

    
por c_motti 12.12.2013 / 11:48

1 resposta

0

Seu comando egrep está funcionando para mim, para fazer com que o grep -e work simplesmente escape dos caracteres de controle e para que ele seja impresso apenas os IPs usem a opção -o para grep:

tcpdump -nr Ncapture.pcap | grep -oe '\(\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)\(\.\|$\)\)\{4\}'

Mas como eu vejo isso vai imprimir um ponto no final do IP, se você não gosta disso, então você tem que adicionar o último octeto separatly, ou seja:

tcpdump -nr Ncapture.pcap | grep -oe '\(\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)\(\.\|$\)\)\{3\}\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)'

Para fazer isso, imprima um IP apenas uma vez:

tcpdump -nr Ncapture.pcap | grep -oe '\(\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)\(\.\|$\)\)\{3\}\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)' | sort | uniq
    
por falconer 12.12.2013 / 13:24