Respostas:
Usar 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
O código fonte do pktstat está hospedado no site do Debian, ou você pode obtê-lo no SourceArchive.com
pktstat: pcap_lookupdev: no suitable device found
ao executar isso, pode ser necessário ser root.
Para exibição 'purdy', sou parcial de uma ferramenta chamada 'iptraf' que fará exatamente o que você mencionou, bem como por interface e por agregados de porta.
Para as principais ferramentas Linux, o confiável netstat fará o truque ...
A tcpdump
mostraria isso a você; se você quiser apenas uma lista de IPs, poderá filtrar os pacotes SYN e enviar apenas o endereço IP de origem. Algo como:
tcpdump -i eth0 -n 'tcp[tcpflags] & tcp-syn != 0 and not src and dst net localnet' | sed 's/^.*IP \([^ ]*) >.*$/\1/'
Você obteria a lista de IPs em tempo real. Você também pode fazer tee
isso em um arquivo e periodicamente fazer um sort -u
para obter uma lista de endereços IP exclusivos que enviaram conexões do seu jeito.
Depois de obter a saída de um dos comandos mencionados em outras respostas, você pode usar a ferramenta "watch" para ter "tempo real". Por exemplo, "watch -n 5 ps" executará o comando "ps" a cada 5 segundos (argumento "-n"). Substitua "ps" pelo comando de interesse e você obterá "monitoramento". Ou apenas "tee" no arquivo, como em outra sugestão.