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é.
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
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 ...
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.
Voici comment voir tout le trafic arrivant au port 2222:
tcpdump -ni any port 2222
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
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.