Les graphiques d'un serveur que j'utilise sont montrant un trafic réseau sortant cohérent 7,5 kb/s qui a commencé il y a quelques jours.
Comment puis-je surveiller/enregistrer/capturer/analysez ce trafic pour voir à quoi s'agit-il, d'où vient-il et d'où vient-il?
Le serveur est un linode (hébergé sur linode.com) exécutant Linux Debian Lenny.
Y a-t-il une ligne de commande HTTP Sniffers pour Linux?
Jetez un coup d'œil à tshark
.
C'est comme Wireshark, mais alors pour la ligne de commande. Il suffit d'installer avec apt-get.
Un tutoriel sur la façon d'utiliser peut être trouvé ici . Vous pouvez facilement filtrer pour HTTP avec.
Pour capturer le trafic HTTP:
tshark -R "tcp.port == 80" -r /tmp/capture.cap
Si le port 80 est votre port HTTP. Si vous ne connaissez pas le port, il suffit de tout capturer et que vous pouvez la filtrer ultérieurement pour HTTP. Le filtrage pour HTTP pendant la capture n'est pas possible.
Vous pouvez utiliser justniffer . C'est un sniffer http cool qui enregistre le trafic réseau dans le format de journal Apache.
Donc, vous pouvez post-traitement des journaux avec n'importe quel analyseur de journal Web, tels que AWSTATS ou PIWIK
renifle
Pour Commandline Sniffers, exécution tcpdump . Vous pouvez exécuter cela à partir du serveur lui-même ou depuis un autre ordinateur du même segment de réseau.
Capturer des paquets. Ctrl-C pour arrêter la capture (n'oubliez pas d'arrêter la capture à un moment donné ...):
tcpdump -w test.pcap -i etth0
Puis lire le fichier:
tcpdump -r test.pcap
Wireshark fournira une bonne interface graphique et plus d'outils d'analyse, mais fonctionne beaucoup comme TCPDump.
Programmes Envoi de données
Vous voudrez également exécuter netstat ou lsof Pour voir ce que le serveur est activement connecté à et quel processus local a lancé la connexion.
Tous les ports TCP avec le nom du programme qui les ont ouvert:
netstat -pat
Énumérez tous les ports Internet Ouvrir:
lsof -i
bro détecte le trafic sur des ports non standard. Contrairement aux autres outils, il a une notion de trafic entrant et sortant une fois que vous lui avez dit l'espace d'adressage de votre réseau:
bro -r trace.pcap local "Site::local_nets += { 1.2.3.0/24, 5.6.7.0/24 }"
Voir le Guide QuickStart pour plus de détails sur la façon de commencer. Courir bro avec les arguments par défaut, c'est-à-dire
bro -i <interface>
crée déjà une variété de fichiers journaux dans le répertoire actuel. Le journal de connexion (conn.log
), contient par exemple des entrées le long des lignes de:
# ts uid orig_h orig_p resp_h resp_p
1311627961.8 HSH4uV8KVJg 192.168.1.100 52303 192.150.187.43 80
Ce ne sont qu'un sous-ensemble des colonnes disponibles. Les fichiers journaux sont conçus de manière à pouvoir les traiter facilement avec awk
et amis. E.G., pour voir la répartition de la connexion par service:
bro-cut service < conn.log | sort | uniq -c
Ceci et d'autres analyses rapides vous diront rapidement ce qui se passe sur votre réseau.
une autre option est l'outil IPTRAF - c'est génial. rapide et facile.
% Sudo iptraf
Il y a beaucoup d'outils dans le paquet DSNIFF ( http://www.monkey.org/~dugesong/dsniff/ ) Voir Urlsnarf, etc.