nping
, который является частью nmap
, имеет эхо-режим: он работает как клиент с одной стороны и как сервер с другой стороны, чтобы вы могли видеть, какие пакеты действительно проходят. Однако я не могу заставить его прослушивать порт UDP.
Мой вызов сервера выглядит так:
# nping --echo-server blabla --no-crypto --echo-port 54321 --udp -p 12346
Starting Nping 0.7.60 ( https://nmap.org/nping ) at 2020-03-19 18:08
Packet capture will be performed using network interface enp0s3.
Waiting for connections...
[1584630522] Connection received from 127.0.0.1:12345
[1584630523] Client #0 (127.0.0.1:12345) disconnected
Однако это не открыть UDP-порт 12346. Открыт только эхо-порт TCP 54321:
# lsof -i -P -n | grep nping
nping 13854 root 5u IPv4 124490 0t0 TCP *:54321 (LISTEN)
Клиентская сторона не может подключиться к UDP-порту 12346, как ожидалось:
# nping -c 1 --echo-client blabla --echo-port 54321 --no-crypto --udp -g 12345 --dest-port 12346 127.0.0.1
Starting Nping 0.7.60 ( https://nmap.org/nping ) at 2020-03-19 18:08
SENT (0.9526s) UDP 127.0.0.1:12345 > 127.0.0.1:12346 ttl=64 id=22251 iplen=28
RCVD (1.1336s) ICMP [127.0.0.1 > 127.0.0.1 Port unreachable (type=3/code=3) ] IP [ttl=64 id=65366 iplen=56 ]
Max rtt: 180.851ms | Min rtt: 180.851ms | Avg rtt: 180.851ms
Raw packets sent: 1 (28B) | Rcvd: 1 (56B) | Lost: 0 (0.00%)| Echoed: 0 (0B)
Nping done: 1 IP address pinged in 1.98 seconds
Обратите внимание на часть «порт недоступен». Как сделать экземпляр сервера nping
открыть порт UDP, который я хочу?
ОС - Ubuntu 18.04, если это важно.