Odpowiedzi:
Posługiwać się 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
Kod źródłowy pktstat jest utrzymywana na miejscu Debiana, lub można je dostać od SourceArchive.com
pktstat: pcap_lookupdev: no suitable device found
podczas uruchamiania, być może będziesz musiał być rootem.
Jeśli chodzi o wyświetlanie „purdy”, jestem częściowo zwolennikiem narzędzia o nazwie „iptraf”, które zrobi to, o czym wspomniasz, a także dla interfejsu i dla agregacji portów.
W przypadku podstawowych narzędzi Linuksa sprawdzony netstat załatwi sprawę ...
A tcpdump
pokaże ci to; jeśli chcesz tylko listę adresów IP, możesz filtrować pakiety SYN i wyświetlać tylko źródłowy adres IP. Coś jak:
tcpdump -i eth0 -n 'tcp[tcpflags] & tcp-syn != 0 and not src and dst net localnet' | sed 's/^.*IP \([^ ]*) >.*$/\1/'
Otrzymałbym listę adresów IP w czasie rzeczywistym. Możesz to również tee
zrobić z plikiem i okresowo to zrobić sort -u
, aby uzyskać listę unikalnych adresów IP, które wysłały połączenia w twoją stronę.
Gdy uzyskasz wynik jednego z poleceń wymienionych w innych odpowiedziach, możesz użyć narzędzia „obserwuj”, aby mieć „w czasie rzeczywistym”. Na przykład „watch -n 5 ps” wykona polecenie „ps” co 5 sekund (argument „-n”). Zastąp „ps” poleceniem zainteresowania, a otrzymasz „monitoring”. Lub po prostu „tee” w pliku, jak w innej sugestii.