В моем сценарии мой хост имеет сетевой интерфейс с несколькими IP-адресами. Я хочу получить трафик каждого IP-адреса. Я хочу получить полученные и отправленные пакеты и байты, а также пакеты ошибок. Мой интерфейс:
qg-6108c4a2-94@if209: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether fa:16:3e:9e:58:d2 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 173.20.12.8/24 brd 173.20.12.255 scope global qg-6108c4a2-94
valid_lft forever preferred_lft forever
inet 173.20.12.7/32 brd 173.20.12.7 scope global qg-6108c4a2-94
valid_lft forever preferred_lft forever
inet 173.20.12.11/32 brd 173.20.12.11 scope global qg-6108c4a2-94
valid_lft forever preferred_lft forever
inet 173.20.12.13/32 brd 173.20.12.13 scope global qg-6108c4a2-94
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe9e:58d2/64 scope link
valid_lft forever preferred_lft forever
решение1
Вы не сможете получить желаемую информацию. IP-адреса являются частью одного и того же интерфейса, и поэтому они учитываются только на физическом уровне. Я должен отметить, что "ifconfig" — этонедостаточный и устаревший. ip
Команда покажет вам сводку на физическом уровне.
% ip -s link show br1000
10: br1000: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 00:10:18:aa:a8:20 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
15661372003 108647365 0 0 0 0
TX: bytes packets errors dropped carrier collsns
278081828962 149463091 0 0 0 0
Вам нужно будет использовать iptables
или , nftables
чтобы отслеживать то, что вы хотите отслеживать.
# iptables example - probably incorrect, I don't have a dev machine to test this.
iptables -A INPUT -i br1000 -d 10.100.0.1/24 -j LOG
iptables -A OUTPUT -i br1000 -s 10.100.0.1/24 -j LOG
# nftables example - probably incorrect, I don't have a dev machine to test this.
nft add rule ip filter INPUT iifname "br1000" ip daddr 10.100.0.1 counter log
nft add rule ip filter OUTPUT iiname "br1000" ip saddr 10.100.0.1 counter log
Есть и другие дополнительные программы, которые могут вам помочь — первое, что приходит на ум, это vnstat
. Но ваш опыт может отличаться.