Comment voir les IP entrantes sous Linux?

21

Je me demande quelle est la commande / l'utilitaire pour avoir une vue en temps réel des IP entrantes sur mon serveur, idéalement avec le port et connecté.

alfish
la source

Réponses:

25

Utilisation pktstat -n

interface: eth0
bps

   bps    % desc
 162.3   0% arp
 286.5   0% llc 802.1d -> 802.1d
 544.3   1% tcp 172.16.1.5:22 <-> 172.16.1.95:8074
 34.0k  87% udp 172.16.1.1:514 <-> 172.16.1.5:514
 350.1   0% udp 172.16.1.5:24330 <-> 209.18.47.62:53
 329.4   0% udp 172.16.1.5:34870 <-> 209.18.47.62:53
 388.3   0% udp 172.16.1.5:4470 <-> 209.18.47.62:53
 407.4   1% udp 172.16.1.5:47008 <-> 209.18.47.62:53
 741.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:43289
 663.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:44589
 647.7   1% udp 172.16.1.5:53 <-> 172.16.1.74:58223
 128.9   0% udp 172.16.1.74:5353 <-> 224.0.0.251:5353
 160.7   0% udp6 fe80::21c:bfff:fecf:a798,5353 <-> ff02::fb,5353

Le code source de pktstat est hébergé sur le site de Debian, ou vous pouvez l'obtenir sur SourceArchive.com

Mike Pennington
la source
1
Incroyable. Exactement ce que je cherchais. C'est assez évident, mais pour compléter la réponse, vous voudrez peut-être ajouter qu'il peut être installé simplement par «apt-get install pkstat».
alfish
De plus, si vous obtenez pktstat: pcap_lookupdev: no suitable device founden exécutant cela, vous devrez peut-être être root.
Tim Malone
10

Pour l'affichage «purdy», je suis friand d'un outil appelé «iptraf» qui fera exactement ce que vous mentionnez, ainsi que par interface et par agrégats de port.

Pour les principaux outils Linux, trusty netstat fera l'affaire ...

mince
la source
1
IPtraf est le meilleur outil que j'ai vu en termes de convivialité et de fonctionnalité - évidemment, vous pouvez toujours créer des scripts en utilisant des outils standard comme netstat et ngrep et tcpdump, mais pourquoi voudriez-vous réinventer la roue :)
gyre
Pour être complet, iftop est similaire à iptraf - une application basée sur ncurses qui utilise des graphiques à barres plutôt que de simples chiffres - pour afficher l'utilisation de la bande passante par adresse IP. Avec l'option -P, vous pouvez également l'obtenir par port.
gsreynolds
7

Un tcpdumpvous montrerait cela; si vous vouliez juste une liste d'adresses IP, vous pouvez filtrer sur les paquets SYN et ne sortir que l'adresse IP source. Quelque chose comme:

tcpdump -i eth0 -n 'tcp[tcpflags] & tcp-syn != 0 and not src and dst net localnet' | sed 's/^.*IP \([^ ]*) >.*$/\1/'

Vous obtiendrait la liste des adresses IP, en temps réel. Vous pouvez également le teefaire dans un fichier et faire périodiquement un sort -upour obtenir une liste d'adresses IP uniques qui ont envoyé des connexions à votre façon.

womble
la source
3

Voici comment voir tout le trafic arrivant au port 2222:

tcpdump -ni any port 2222
Basj
la source
0

Une fois que vous obtenez la sortie de l'une des commandes mentionnées dans d'autres réponses, vous pouvez utiliser l'outil "watch" pour avoir "en temps réel". Par exemple, "watch -n 5 ps" exécutera la commande "ps" toutes les 5 secondes (argument "-n"). Remplacez "ps" par la commande qui vous intéresse et vous obtiendrez "surveillance". Ou, juste "tee" dans le dossier, comme dans une autre suggestion.

Transporteur
la source