Назад | Перейти на главную страницу

Скрипт для поиска адреса, на который отправляются udp-пакеты?

Вот сценарий.

У меня есть IP-адрес 1.2.3.4 порт 2000, отправляющий пакеты udp на один неизвестный IP. Я хотел бы найти неизвестный IP-адрес, чтобы заблокировать его с помощью iptables.

Есть ли способ сделать это с помощью скрипта? Сейчас я делаю это вручную, используя

tshark -i eth1 -f "net 1.2.3.4 and src port 2000"

Я не уверен, как передать это в скрипт и автоматически найти IP-адрес назначения.

Просто используйте tshark для вывода только нужного поля, добавив -Tfields -e ip.dst_host в свою командную строку:

tshark -i eth1 -Tfields -e ip.dst_host -f "net 1.2.3.4 and src port 2000"

Чтобы получить только первое вхождение, соберите только небольшое количество пакетов и пропустите голову:

tshark -i eth1 -Tfields -e ip.dst_host -f "net 1.2.3.4 and src port 2000" -c 1000 | head -1

Если вы считаете, что 1000 пакетов недостаточно для передачи одного пакета на этот порт, увеличьте это число.