2014-02-12 9 views
1

Я просто пытался найти code snippet here для удовольствия и обучения. Я сделал захват проводов на интерфейсе и заметил что-то странное.libnet отправка RST-пакетов

Пакеты SYN были отправлены, как ожидалось, и я, кажется, получаю в ответ SYN ACK. Я сплю около 5 секунд каждый после отправки каждого SYN-пакета. Я замечаю, что мой компьютер отправляет RST пакет на сервер после получения каждого SYN ACK, хотя для этого нет кода. Почему это происходит и как я могу предотвратить это?

+1

Я бы предположил, что ваше ядро ​​обрабатывает ответы SYN/ACK. Поскольку никогда не было отправлено соответствующее SYN-пакет, и ответ нежелателен, ядро ​​отправляет ответ RST. Это одна из причин обмана IP-адреса, выполняющего поток SYN - если вы этого не сделаете, вы также ухудшите свою связь. –

ответ

0

Я столкнулся с той же проблемой, но по поиску немного много говорили о добавлении фильтра в брандмауэре, там, не позволяя ядру отправлять пакет RST. Посмотрел в команду unix iptables, где на OUTPUT цепочке вы можете примените фильтр, говорящий о конкретном dst с протоколом tcp, и установите флаг RST. Команда:

sudo iptables -A OUTPUT -p tcp -d <dst-ip> --tcp-flag SYN,RST RST -j DROP