AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1042158
Accepted
Younes
Younes
Asked: 2020-11-12 06:06:37 +0800 CST2020-11-12 06:06:37 +0800 CST 2020-11-12 06:06:37 +0800 CST

Por que a solicitação de eco não aparece no tcpdump?

  • 772

Eu tenho dois segmentos de rede conectados usando um túnel IPSEC-VPN:

  • NET#1: ab0.0/16 com gateway LAN ab0.1
  • NET#2: xy0.0/16 com gateway LAN xy130.1

Eu inicio um ping de ab0.1 para xy130.100 e iniciei um tcpdump. Mais tarde, isso mostra os pacotes de respostas de eco, mas não mostra os pacotes de solicitação de eco.

Isso é normal? Como posso obter os pacotes de solicitação de eco também?

Aqui está um exemplo de sessão de testes:

O PING:

# ping x.y.130.100
PING x.y.130.100 56(84) bytes of data.
64 bytes from x.y.130.100: icmp_seq=1 ttl=63 time=1.87 ms
64 bytes from x.y.130.100: icmp_seq=2 ttl=63 time=1.38 ms
64 bytes from x.y.130.100: icmp_seq=3 ttl=63 time=1.27 ms
64 bytes from x.y.130.100: icmp_seq=4 ttl=63 time=3.93 ms
64 bytes from x.y.130.100: icmp_seq=5 ttl=63 time=1.15 ms
64 bytes from x.y.130.100: icmp_seq=6 ttl=63 time=1.16 ms

O TCPDUMP:

# tcpdump -nn 'icmp and (src a.b.0.1 or dst a.b.0.1)'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
13:54:27.607103 IP x.y.130.100 > a.b.0.1: ICMP echo reply, id 22607, seq 1, length 64
13:54:28.608433 IP x.y.130.100 > a.b.0.1: ICMP echo reply, id 22607, seq 2, length 64
13:54:29.610167 IP x.y.130.100 > a.b.0.1: ICMP echo reply, id 22607, seq 3, length 64
13:54:30.614716 IP x.y.130.100 > a.b.0.1: ICMP echo reply, id 22607, seq 4, length 64
13:54:31.613417 IP x.y.130.100 > a.b.0.1: ICMP echo reply, id 22607, seq 5, length 64
13:54:32.615054 IP x.y.130.100 > a.b.0.1: ICMP echo reply, id 22607, seq 6, length 64
ping tcpdump
  • 2 2 respostas
  • 2215 Views

2 respostas

  • Voted
  1. Best Answer
    A.B
    2020-11-12T07:44:59+08:002020-11-12T07:44:59+08:00

    Esta resposta assume o Linux como sistema operacional.

    A saída não pode ser capturada como texto simples pelo tcpdump : ela já está criptografada antes que o tcpdump tenha a chance de vê-la e seu filtro icmp não corresponderá. A entrada, que chega criptografada, é repetida como carga útil de texto simples: o tcpdump captura ambos, mas seu filtro icmp corresponderá na segunda passagem.

    O fluxo de pacotes no Netfilter e General Networking fornece pistas sobre isso (você terá que clicar para obter detalhes):

    Fluxo de pacotes no Netfilter e General Networking

    no lado direito (saída):

    • pacote de texto simples atinge a pesquisa xfrm e é repetido como carga útil criptografada por meio da codificação xfrm

    • O tcpdump captura posteriormente o resultado final em AF_PACKET. Isso não corresponde ao ICMP, nada será exibido pelo filtro

    no lado esquerdo (entrada):

    • a carga criptografada chega e é capturada em AF_PACKET por tcpdump : isso não corresponde a um ICMP e não será exibido
    • o pacote atinge a pesquisa xfrm/socket e sofre decodificação através da decodificação xfrm
    • a carga de texto simples agora decodificada é enviada especificamente através de AF_PACKET: desta vez o tcpdump verá um pacote ICMP
    • a carga de texto simples segue o roteamento agora usual

    Na verdade, em alguns casos (quando a compactação IPSec está habilitada e o pacote é um pacote curto) pode haver ainda um outro loop com o pacote interno intermediário como protocolo ipip .

    Se você deseja obter o tráfego de saída, aqui estão algumas sugestões:

    • você terá que adicionar algo como or esp, mas é claro que não será decodificado, a menos que uma -Eopção adequada com os segredos adequados seja definida (sobre a qual eu não saberia muito). Não sei se o tcpdump também pode decodificar NAT-T ( udp port 4500) dessa maneira.
    • use iptables ou nftables para duplicar pacotes para uma interface fictícia. O tcpdump pode capturar nesta interface.
    • use iptables ou nftables para registrar pacotes inteiros no recurso nflog . O tcpdump pode capturar nesta pseudo-interface.
    • 15
  2. JamesHannah
    2020-11-12T06:17:05+08:002020-11-12T06:17:05+08:00

    Existe uma chance de que as respostas estejam saindo em uma interface diferente (talvez uma para IPSec?) daquela (eth0) na qual você está executando o tcpdump?

    • 2

relate perguntas

  • O que significa "TTL expirado em trânsito" em uma tentativa de ping?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve