f0ff0c58

Проверка пакета


Иногда вы хотите знать, что происходит, когда некоторый пакет входит на вашу машину, напр., для отладки ваших firewall цепочек. В ipchains есть команда "-C", которая использует те же самые подпрограммы, которые ядро использует для диагностики реальных пакетов.

Вы указываете, какой цепочке проверить пакет, указывая имя после параметра "-C". В то время как ядро всегда начинает с цепочек input, output или forward, вы можете начать тестирование с любой цепочки.

Подробности "пакета" определяются по тому же самому синтаксису, который используется для определения правил firewall. В частности протокол ("-p"), исходный адрес ("-s'), адрес назначения ("-d') и интерфейс ("-i') обязательны. Если протокол - TCP или UDP, то должны быть указаны одиночные порты источника и адресата, а для ICMP протокола должны быть определены тип и код ICMP (если не определен флажок "-f' для указания правил фрагментов, в этом случае опции запрещены).

Если протокол - TCP (и флажок "-f" не определен), можно определять флажок "-y", чтобы указать, что тестовый пакет должен иметь установленным бит SYN.

Вот пример тестировочного TCP SYN пакета с хоста 192.168.1.1 порт 60000 к хосту 192.168.1.2 порт www, приходящий на интерфейс eth0 в цепочку "input". (Это - классическая иницциация входящего WWW соединения):

# ipchains -C input -p tcp -y -i eth0 -s 192.168.1.1 60000 -d 192.168.1.2 www packet accepted #



Содержание раздела