Por que existem pacotes ESTABLISHED sem SYN_SENT ou SYN_RECV anteriores?

0

Eu abro duas janelas lado a lado, uma com: netstat -anutpc | grep ESTABLISHED | grep kde a outra com netstat -anutpc | grep -e SYN_SENT -e SYN_RECV , então eu inicio konqueror e vou no youtube.

Eu recebi dois IPs para os quais meu computador enviou SYN_SENT (no SYN_RECV ), mas recebi um IP na janela de monitoramento ESTABLISHED que não tem sua contraparte na outra parte.

Estou apenas tentando entender como tudo isso funciona, você poderia explicar por que há pacotes parte de uma conexão ESTABLISHED que nunca foram iniciados? Acho que fechar o konqueror por mais de 2 minutos deve fechar todas as conexões associadas ao software, portanto, se eu reabri-lo 2 minutos depois ele deve reenviar todos os pacotes SYN.

    
por ChiseledAbs 08.07.2016 / 10:36

1 resposta

2

Meu palpite é que o handshake simplesmente acontece muito rápido para que seu monitoramento seja notado. A opção -c não é realmente contínua; tudo o que ele faz é repetir a saída a cada segundo , e a maioria dos handshakes TCP acontece de fato muito mais rápido que isso.

Se você realmente quiser um feed ao vivo , use um dos seguintes:

  • Eventos Linux conntrack - mostra conexões novas e destruídas conforme o firewall as vê:

    conntrack -E -p tcp
    

    Use -p tcp para filtrar somente o TCP; caso contrário, também mostrará o UDP. Mesmo que o próprio UDP seja sem conexão, os estados são mantidos para fins de firewall ou NAT.

  • Pacotes TCP / IP brutos - mostra pacotes TCP com sinalizadores SYN, FIN ou RST:

    tcpdump -n -i eth0 "tcp[tcpflags] & (tcp-syn|tcp-fin|tcp-rst) != 0"
    
    tshark -n -i eth0 "tcp[tcpflags] & (tcp-syn|tcp-fin|tcp-rst) != 0"
    

    (Você também pode filtrar apenas "tcp" ou remover completamente o filtro.)

por 08.07.2016 / 10:45