web-dev-qa-db-fra.com

Comment voir les IP entrantes sous Linux?

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

24
alfish

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 auprès de SourceArchive.com

27
Mike Pennington

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 ...

10
thinice

Un tcpdump vous 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 tee cela dans un fichier et effectuer périodiquement un sort -u dessus pour obtenir une liste des adresses IP uniques qui ont envoyé des connexions à votre façon.

7
womble

Voici comment voir tout le trafic arrivant au port 2222:

tcpdump -ni any port 2222
4
Basj

Vous pouvez utiliser last pour avoir une idée d'où viennent vos connexions:

last | tac

Les résultats, maintenant par ordre chronologique, ressemblent à ceci:

root     pts/0        xx.yy.zz.1       Fri Jan 31 09:13 - 13:25  (04:11)
root     pts/1        master01-server.ne Fri Jan 31 09:36   still logged in
root     pts/2        xx.yy.zz.1       Fri Jan 31 10:29 - 14:41  (04:11)
root     pts/3        master01-server.ne Fri Jan 31 10:33 - 18:31  (07:58)
root     pts/4        master01-server.ne Fri Jan 31 13:04 - 18:32  (05:28)
root     pts/0        xx.yy.zz.1       Fri Jan 31 13:41 - 16:33  (02:52)
root     pts/0        master01-server.ne Mon Feb  3 08:37   still logged in

Si vous voulez plus de détails et que votre administrateur système n'autorise plus netstat, utilisez ss:

ss | grep xx.zx.yz.161


tcp    ESTAB      0      0      nnn.mm.oo.6:ssh                  xx.zx.yz.161:49046
tcp    ESTAB      0      0      nnn.mm.oo.6:ssh                  xx.zx.yz.161:54800
0
Lefty G Balogh

Une fois que vous obtenez la sortie de l'une des commandes mentionnées dans les 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.

0
Carrier