Je peux voir que mon serveur envoie beaucoup de trafic. Si je vais à netstat -apln | grep httpd je peux voir que tout le trafic va à une adresse IP.
Y a-t-il une façon de voir quel script/fichier est utilisé pour envoyer les données à cette adresse IP? Ou toute propriété intellectuelle en général?
Je sais que Tcpdump peut regarder des paquets mais je ne peux pas sembler un moyen de le faire.
La commande netstat
ne peut vous indiquer que quelles connexions sont actuellement ouvertes, mais pas à quel point le trafic a chacun envoyé et reçu. Pour savoir quelles connexions transfèrent la plupart des données, vous devez utiliser d'autres outils pouvant par exemple être iftop
ou tcpdump
.
Ce que vous effectuez ensuite dépend beaucoup de la vie de chaque connexion et qui finit la connexion. Si votre fin est le serveur, vous devriez pouvoir identifier la prise d'écoute appartenant au processus serveur.
S'il s'agit bien d'un processus httpd
(comme vous semblez impliquer dans votre question), votre journal d'accès au serveur Web est l'endroit idéal pour regarder. Une mise en garde à garder à l'esprit est que chaque demande n'est enregistrée qu'une fois que le transfert de cette demande est terminé. Cela peut faire une différence significative si vous servez de fichiers, qui sont de nombreux MB de taille.
Si votre fin se trouve être le client, vous ne verrez pas les prises d'écoute, mais si les connexions sont vécues depuis longtemps, vous pouvez trouver les connexions et le processus correspondant à l'aide de netstat
, une fois que vous avez confirmé la connexion. consomme une bande passante.
Si l'enquête décrite ci-dessus vous mènera à constater que la plupart des trafics se produisent sur des connexions à vie courte établies à votre fin, alors netstat
ne suffit pas pour identifier quel processus est responsable. Ce scénario particulier a été couvert ne question plus ancienne .
Vous pouvez essayer d'utiliser lsof
pour vérifier quels processus utilisent les connexions réseau.
Liste Al Connexions réseau: lsof -i
Répertoriez tous les TCP ou Connections UDP: lsof -i tcp; lsof -i udp;
Processus écoutant sur un port particulier: lsof -i :80
Liste des fichiers réseau utilisés par un processus: lsof -i -a -p 234
Énumérez les fichiers réseau ouverts par les processus commençant par SSH: lsof -i -a -c ssh
Nethogs Rapports Bandwidth Utilisé par processus, mis à jour une fois par seconde.
netstat -nlpt (doit fonctionner comme sudo ou racine) retournera le PID/Nom du processus responsable d'une connexion. Depuis que vous connaissez l'IP, vous devriez pouvoir simplement faire
Sudo netstat -nlpt | grep xx.xx.xx.xx
et voir quel processus c'est. Ma compétence est plus dans Windows pour que ma syntaxe puisse être un peu désactivée. J'ai regardé les commutateurs de Linux et j'ai trouvé cela comme # 5 ici .
C'était une question intéressante et on dirait que le noyau ne stocke pas les comptoirs pour une utilisation par défaut de débit de réseau par traitement par défaut, mais un module de noyau NetAtop [1] ajoute cette capacité, ce qui le rend alors disponible pour la journalisation et les rapports en utilisant au-dessus [ 2].
[1]: voir http://www.atoptool.nl/netatop.php
[.____] [2]: voir http://www.atoptool.nl/