У меня странный случай, когда я не знаю, что случилось. Обычно использование tcpdump
должно позволить нам узнать, достигает ли пакет сетевой карты перед iptable
filter. Это работает до сих пор на большинстве портов UDP, которые я пробовал, но не на порту 69
.
У меня работает сервер (IP: 192.168.0.10
)
# tcpdump -nnvv src host 192.168.0.128
Оба хоста 192.168.0.10
подключены неуправляемым коммутатором. Сеть работает нормально. Я могу пинговать друг друга и даже подключаться к другим службам TCP.
Когда я отправляю трафик UDP с хоста 192.168.0.128
:
# echo "test" > /dev/udp/192.168.0.10/100
Я получаю ответ от 192.168.0.10
:
12:29:09.210977 IP (tos 0x0, ttl 64, id 50828, offset 0, flags [DF], proto UDP (17), length 33)
192.168.0.128.33701 > 192.168.0.10.100: [udp sum ok] UDP, length 5
12:29:14.211507 ARP, Ethernet (len 6), IPv4 (len 4), Reply 192.168.0.128 is-at 00:0c:29:e8:30:d4, length 46
Даже UDP-порт 100
не прослушивается ни одной службой. Я также пробую другой порт UDP как 67
, 68
, 101
и 102
. Все эти порты работают на отлично.
Затем я пытаюсь отправить UDP-трафик на порт 69:
# echo "test" > /dev/udp/192.168.0.10/69
И я не получаю ответа tcpdump
. В качестве порта 69
обычно используется служба tftp
. Я выполняю этот тест, пытаясь выяснить, почему прослушивание tftp
на порту 69 не показывает никакого ответа. Я также проверяю, что служба tftp остановлена, прежде чем я сделаю тест.
Мое ядро Linux:
# uname -a
Linux local 2.6.33.3-85.fc13.x86_64 #1 SMP Thu May 6 18:09:49 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
Есть ли какие-либо другие настройки в Linux, которые захватывают трафик UDP-порта 69?