Учитывая номер порта TCP/UDP, как мне узнать имя службы, связанной с этим портом?
Я хочу сделать это на разных вкусах Unix. В основном Gnu/Linux (обычно Debian) и Mac OS X.
На Linux это
ss -lntp
ss -lnup
для TCP и UDP соответственно. l
означает прослушивание, p
возвращает номер процесса, который прослушивает порт, а n
- моя любимая мозоль, он не преобразует IP-адреса в имена.
В Mac OS вы можете использовать следующую команду, которая также работает в Linux:
lsof -n -i4TCP:$PORT | grep LISTEN
i4 указывает, что вы используете IPv4, остальное должно быть само за себя.
Вы также можете использовать (в Linux)
netstat -pntl | grep $PORT
но netstat уже устарел, или
fuser -n tcp $PORT
который не. Это так далеко, как я иду.