Чому існують встановлені пакети без попереднього SYN_SENT або SYN_RECV


0

Я відкриваю два вікна з бічними сторонами, одне з: netstat -anutpc | grep ESTABLISHED | grep kdeінше з netstat -anutpc | grep -e SYN_SENT -e SYN_RECV, потім запускаю konquerorі переходжу на youtube.

У мене було два IP-адреси, на які мій комп'ютер надіслав SYN_SENT(ні SYN_RECV), але я отримав деякий IP-адресу у вікні ESTABLISHEDмоніторингу, у якого немає іншого аналога в іншому башті.

Я просто намагаюся зрозуміти, як працює вся ця річ, чи можете ви пояснити, чому є пакети, що є частиною встановленого з'єднання, які ніколи не ініціювались? Я думаю, що закриття konqueror більше 2 хвилин має закрити всі з'єднання, пов’язані з програмним забезпеченням, тому якщо я повторно відкрию його через 2 хвилини після того, як він повинен повторно передати всі пакети SYN.

Відповіді:


2

Я здогадуюсь, що рукостискання просто відбувається занадто швидко, щоб ваш моніторинг помітив. -cВаріант не дуже безперервний; все, що це робиться, це повторювати висновок щосекунди , і більшість рукостискань TCP насправді відбуваються набагато швидше, ніж це.

Якщо ви дійсно хочете живу стрічку, скористайтеся одним із наступних дій:

  • Linux події conntrack - показує нові та зруйновані з'єднання у міру того, як їх бачить брандмауер:

    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"або видалити фільтр повністю.)


заміна eth0 на tun0 змусила його працювати, однак будь-яка ідея про те, чому conntrack не працює навіть після відключення openvpn?
ChiseledAbs

Я просто хотів сказати те саме, що grawity. Щоб побачити стан SYN_SENT, просто блокуйте SYN, ACK пакети з віддалених веб-сайтів. iptables -I INPUT 1 -p tcp -m tcp -m multiport 80,443 --tcp-flags SYN,ACK SYN,ACK -j DROPТаким чином, ви ніколи не отримаєте підтвердження від будь-якого віддаленого хоста, щоб встановити TCP-з'єднання у відповідь на ваш початковий пакет SYN.
Олег Болден

Ви не сказали, як conntrack "не працює", але можливо, що він не завантажується в ядро, поки щось не спробує використати. Можливо, це працює для мене, оскільки я є -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTчастиною моїх правил iptables.
grawity

Щоб встановити зворотний виклик брандмауера iptablesiptables -D INPUT 1
Олег Болден
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.