J'aimerais examiner le trafic réseau géré par un seul processus, mais les simples captures de réseau ne fonctionneront pas car j'ai affaire à un système très actif (beaucoup d'autres trafics se produisent en même temps). Existe-t-il un moyen d'isoler un tcpdump
o wireshark
au trafic réseau d'un seul processus spécifique ? (En utilisant netstat
est insuffisante).
Réponses
Trop de publicités?Construire sur la réponse de ioerror Je pense que vous pouvez utiliser iptables --uid-owner
pour définir un marqueur sur le trafic, et ensuite vous pouvez demander à wireshark de capturer uniquement le trafic avec ce marqueur. Vous pouvez utiliser un marqueur DSCP (differential services marker), un identifiant de flux ou un marqueur qos.
Ou bien, vous pouvez utiliser cette méthode pour envoyer ces paquets sur une interface différente, puis capturer uniquement sur cette interface.
bogue wireshark #1184 est cette fonctionnalité. Elle a été signalée en 2006 et n'est pas mise en œuvre depuis 2019.
En complément de La réponse de @felahdab J'ai écrit un outil Shell Shell appelé runnet
qui peut facilement créer un espace de nom de réseau pour exécuter des programmes spécifiques. Vous pouvez le trouver ici : https://github.com/KB5201314/runnet .
juste courir
sudo runnet --internet <your cmd>
cela créera un espace de nom de réseau séparé.
Ensuite, vous pouvez voir une interface comme runnetxxxxx_vo
sur votre wireshark. Vous pouvez commencer à l'écouter.
capture d'écran de la liste des interfaces de wireshark
Vous pouvez même utiliser le --internet
pour contrôler si le trafic doit être transféré vers le réseau externe. Vous pouvez également contrôler les ports qui sont mappés à l'hôte, ceci grâce à la puissance de l'option socat
.
Je pense que vous pouvez créer un Shell Shell pour boucler l'exécution de netstat et l'enregistrer dans un fichier texte. Quelque chose comme (étapes très grossières) :
echo "press q to quit"
while [ <q is not pressed>]
do
`netstat -taucp | grep <pid or process name> 1>>logfile.txt`
done
Je ne suis pas un programmeur, donc je ne peux pas affiner cela. Mais quelqu'un ici peut partir de là où je me suis arrêté et créer un script fonctionnel pour vous.
- Réponses précédentes
- Plus de réponses