Я открываю два боковых окна bash, одно с помощью: netstat -anutpc | grep ESTABLISHED | grep kde с помощью netstat -anutpc | grep -e SYN_SENT -e SYN_RECV , затем я запускаю konqueror и перехожу на YouTube.

Я получил два IP- адреса, на которые мой компьютер отправил SYN_SENT (нет SYN_RECV), но я получил несколько IP-адресов в окне мониторинга ESTABLISHED , у которых нет аналога в другом bash.

Я просто пытаюсь понять, как все это работает, не могли бы вы объяснить, почему в установленном соединении есть пакеты, которые никогда не инициировались? Я думаю, что закрытие konqueror более чем на 2 минуты должно закрыть все соединения, связанные с программным обеспечением, поэтому, если я снова открою его через 2 минуты после того, как он должен повторно отправить все пакеты SYN.

1 ответ1

2

Я думаю, что рукопожатие происходит слишком быстро, чтобы ваш мониторинг не заметил. Опция -c самом деле не является непрерывной; все, что он делает, это повторяет вывод каждую секунду, и большинство TCP-рукопожатий на самом деле происходит намного быстрее, чем это.

Если вы действительно хотите прямой эфир , воспользуйтесь одним из следующих:

  • Linux conntrack events - показывает новые и разрушенные соединения так, как их видит брандмауэр:

    conntrack -E -p tcp
    

    Используйте -p tcp для фильтрации TCP; иначе это также покажет UDP. Несмотря на то, что сам UDP не использует соединения, состояния сохраняются для целей брандмауэра или NAT.

  • Необработанные пакеты TCP/IP - показывает пакеты TCP с флагами SYN, FIN или 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"
    

    (Вы также можете отфильтровать только "tcp" или полностью удалить фильтр.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .