Определите, в какое время было создано текущее открытое TCP-соединение?

11

Как я могу узнать, в какое время в Linux было установлено открытое TCP-соединение?

opsguy
источник
1
Итак, вы решили эту проблему, и у вас нет актуального вопроса?
Свен
1
Опять же: это проблема для вас или вы хотите провести дискуссию? В недавно закрытом вопросе вы заявили, что решили это.
Свен
2
Последний комментарий, почему бы не дать ответ в любом случае, вместо того, чтобы пытаться задавать вопросы людям? Я уверен, что они будут благодарны, и вы могли бы даже получить очко или два вместо того, чтобы зарабатывать презрение.
mdpc
2
Нам нравится, когда люди бросают решения проблем, поэтому оставляйте свои сообщения. Если у других людей есть лучшие / другие решения, тем лучше для всех нас.
sysadmin1138
4
blog.stackoverflow.com/2011/07/… Вполне приемлемо задать вопрос, а затем ответить на него самостоятельно.
user9517

Ответы:

11

Я смог использовать, lsofчтобы получить дескриптор файла, затем побежал, stat /proc/<PID>/fd/<file descriptor>чтобы получить дату.

opsguy
источник
1

Комбинация lsofи /procкак предложено @opsguy должны сделать работу:

lsof -P -i tcp | awk '{print $2,$4}' | tr -d 'u' | sort -u \
| while read pid fd; do stat --printf "%z %N\n" /proc/$pid/fd/$fd ; done | sort -r
BRX в стенах
источник