Déterminer à quel moment une connexion TCP actuellement ouverte a été créée?

11

Comment savoir à quelle heure une connexion TCP actuellement ouverte a été établie sous Linux?

opsguy
la source
1
Donc, vous avez résolu ce problème et vous n'avez pas de vraie question?
Sven
1
Encore une fois: est-ce un problème pour vous ou voulez-vous forcer une discussion? Dans la question récemment close, vous avez déclaré avoir résolu ce problème.
Sven
2
Dernier commentaire, pourquoi ne pas contribuer de toute façon à la réponse au lieu d'essayer de questionner les gens? Je suis sûr qu'ils seraient reconnaissants et vous pourriez même obtenir un point ou deux au lieu de gagner du mépris.
mdpc
2
Nous aimons que les gens déposent des solutions aux problèmes, alors allez-y et postez le vôtre. Si d'autres personnes ont des solutions meilleures / différentes, mieux nous sommes tous.
sysadmin1138
4
blog.stackoverflow.com/2011/07/… Il est parfaitement acceptable de poser une question puis d'y répondre vous-même.
user9517

Réponses:

11

J'ai pu utiliser lsofpour obtenir le descripteur de fichier, puis j'ai couru stat /proc/<PID>/fd/<file descriptor>pour obtenir la date.

opsguy
la source
1

Une combinaison de lsofet /proccomme suggéré par @opsguy devrait faire le travail:

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
le brx dans les murs
la source