iptables ... -j DROP, кажется, оставляет соединения открытыми?
Так что извините, если это глупый вопрос, я не большой специалист по сетевым технологиям. Сервер друзей затопляется определенным IP-адресом, что довольно очевидно, если посмотреть на вывод tcptrace
Есть сотни соединений с состоянием "СБРОС".
Я сделал очевидную вещь и заблокировал указанный IP-адрес с помощью iptables:
iptables -I INPUT -s <bad guy> -j DROP
Что, насколько я понимаю, должно сработать. Теперь вместо "RESET" соединения отображаются как "SYN_SENT" в tcptrace
что не имеет смысла для меня.
Я что-то пропускаю? Нужно ли предпринять некоторые дополнительные шаги, чтобы ядро полностью сбросило соединение?
РЕДАКТИРОВАТЬ:
Дополнительная странность заключается в том, что ни при наличии, ни без правила iptables какие-либо странные соединения обнаруживаются с netstat -tuna
(Должен любить эту команду), который я прочитал несколько раз, не должно быть так.
1 ответ
Что, насколько я понимаю, должно сработать. Теперь вместо "RESET" соединения отображаются как "SYN_SENT" в tcptrace, что для меня не имеет смысла.
Важная вещь, которую следует помнить о большинстве инструментов, основанных на pcap, заключается в том, что pcap обычно захватывает меньше в сетевом стеке ядра, чем любой код сетевого фильтра. Таким образом, пакет, который вы отбросили с помощью iptables, все еще будет поступать на интерфейс и перехватываться.
Вы видите пакеты трафика SYN в своем захвате, но они, вероятно, не передаются ни к чему другому в системе, предполагая, что ваше правило правильно соответствует трафику. Посмотри на прилавки (iptables -nvL
) для правила, чтобы проверить дважды.
с правилом iptables или без него, какие-либо странные соединения обнаруживаются с помощью netstat -tuna
С этим правилом мы, очевидно, ожидаем ничего не увидеть, так что это не так уж много сюрпризов. Не уверен, почему ты ничего не видел без правила. Хотя я бы наверное использовал ss -nut
по netstat.