Как за короткое время зарегистрировать все порты, когда-то открытые процессом / приложением в Linux?


2

У меня есть приложение, которое выполняет какое-то обновление в сети и некоторое время слушает какой-то порт, чтобы получить обратную связь в течение некоторого времени ожидания. Это достаточно коротко, чтобы наблюдать, если с netstat. Мне нужны события открытия порта и закрытия его для регистрации. Есть идеи?


1
Первое, что я бы попробовал, это straceприменить некоторую фильтрацию, чтобы получать только открытые и закрытые системные вызовы.
Диркт

Ответы:


2

Я не уверен, что это лучший подход, но я использовал

buffer1=$(ss -ltun); while true; do buffer2=$(ss -ltun); diff <(echo "$buffer1") <(echo "$buffer2") >> netlog2.log; buffer1=$buffer2; done

^ C

cat netlog2.log 6c6 <tcp 0 8 172.16.1.215:31087 :
---

tcp 0 8 172.16.1.215:47339 :
6d5 <tcp 0 8 172.16.1.215:47339 :
11a11 tcp 0 8 172.16.1.215:49491 :
11d10 <tcp 0 8 172.16.1.215:49491 :
10a11 tcp 0 8 172.16.1.215:35249 :

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.