Можно ли проверять статистику в Linux на интерфейс для ICMP-пакетов в частности? Ifconfig команда предоставляет статистику по интерфейсу для принятых и отправленных пакетов:Можно ли подсчитать количество ICMP-пакетов, отправленных/полученных на интерфейс в Linux?
-> /sbin/ifconfig eth1
eth1 Link encap:Ethernet HWaddr BC:30:5B:ED:DE:54
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:412327300 errors:0 dropped:0 overruns:0 frame:0
TX packets:765211747 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:327931865613 (312740.1 Mb) TX bytes:803392590272 (766174.8 Mb)
Memory:dcc00000-dcd00000
Но то, что я ищу, некоторые конкретный тип пакетов (например, ICMP) на интерфейс.
Также Linux предоставляет эти статистические данные, но в глобальном масштабе в /Proc/нетто/SNMP:
-> cat /proc/net/snmp
... log truncated ...
Icmp: InMsgs InErrors InDestUnreachs InTimeExcds InParmProbs InSrcQuenchs InRedirects InEchos InEchoReps InTimestamps InTimestampReps InAddrMasks InAddrMaskReps OutMsgs OutErrors OutDestUnreachs OutTimeExcds OutParmProbs OutSrcQuenchs OutRedirects OutEchos OutEchoReps OutTimestamps OutTimestampReps OutAddrMasks OutAddrMaskReps
Icmp: 29697 5 276 9 0 0 0 29409 3 0 0 0 0 29970 0 561 0 0 0 0 5 29404 0 0 0 0
IcmpMsg: InType0 InType3 InType8 InType11 OutType0 OutType3 OutType8
IcmpMsg: 3 276 29409 9 29404 561 5
... log truncated ...
Или еще довольно печать с использованием NetStat -s команды (-s обозначает статистику, конечно) :
-> netstat -s
... log truncated ...
Icmp:
29697 ICMP messages received
5 input ICMP message failed.
ICMP input histogram:
destination unreachable: 276
timeout in transit: 9
echo requests: 29409
echo replies: 3
29970 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 561
echo request: 5
echo replies: 29404
IcmpMsg:
InType0: 3
InType3: 276
InType8: 29409
InType11: 9
OutType0: 29404
OutType3: 561
OutType8: 5
... log truncated ...
Итак, вопрос есть. есть ли способ получить статистику ICMP для определенного интерфейса вместо глобальной статистики ICMP для всей системы в Linux?
Спасибо за ответ, на самом деле я также дважды проверил реализацию (обновил мой вопрос), и, похоже, вы совершенно правы с вашим ответом. –
Фактически указанную статистику можно найти в/sys/class/net//статистики. –