Могу ли я использовать tcpdump для обнаружения прерванных соединений на порту 80 (Apache), исходящих с определенного IP-адреса (моего удаленного IP-адреса). Я могу воспроизвести прерванное соединение в моем веб-браузере, но у меня нет возможности проверить, доходит ли запрос до моего сервера. Я пробовал это, но не мог точно сказать, было ли соединение прервано.
tcpdump -n -i eth0 -s 0 src or dst port 80|grep -F "XXX.XXX.XXX.XXX"
Я бы подумал, что соединение «Прервано» происходит, когда отправляется TCP-пакет, он сообщает соединению о сбросе, флаг, который представляет это, является RST
флаг.
Вы можете фильтровать RST, используя tcpdump -i eth1 'tcp[13] & 4 = 4'
. Кроме того, немного не в тему, но grepping tcp dump немного ленив, вы всегда можете добавить dst host X or src host X
к вашему фильтру.