Этот вопрос был полезен для меня, но я обнаружил, что использование lsof
вместо netstat
позволяет мне избегать всего, что связано с HEX:
Для процесса ${APP}
запускаемого пользователем ${USER}
, следующий код возвращает все открытые сокеты на IP-адрес $ {IP}:
PEEID=$(sudo pgrep -u ${USER} ${APP}) && for i in `sudo lsof -anP -i -u logstash | grep ${IP} | awk '{print $6}'` ; do echo "${device} time" ; sudo find /proc/${PEEID}/fd -lname "socket:\[${device}\]" -printf %t 2> /dev/null ; echo ; done
lsof
содержит PID
, но я не уверен, как его получить и номер устройства.
Это было проверено на Amazon Linux.