LINUX : 인터페이스 매출 된 패킷 카운터 검색 (Ethernet, IPv4, IPv6)
-
20-08-2019 - |
문제
Linux에서 다음 카운터를 검색하는 방법 인터페이스별로:
- 전송/수신 된 이더넷 프레임,
- 전송/수신 IPv4 패킷,
- 전송/수신 IPv6 패킷.
해결책
이 작업을 수행 할 수 있어야합니다 iptables
규칙 및 패킷 카운터, 예를 들어
# input and output must be accounted for separately
# ipv4, eth0
iptables -I INPUT -i eth0
iptables -I OUTPUT -o eth0
# ipv6, eth0
ip6tables -I INPUT -i eth0
ip6tables -I OUTPUT -o eth0
통계를 보려면 다음의 출력을 구문 분석하십시오.
iptables -L -vxn
ip6tables -L -vxn
당신은 또한 찾아야합니다 -Z
카운터를 재설정 할 때 플래그.
다른 팁
내 시스템에는 파일이 있습니다 /sys/class/net/eth0/statistics
, 네트워크 인터페이스에 대한 다양한 통계를 제공합니다.
이것은 모호한 최근의 리눅스를 가정합니다 /sys
(SYSFS) 장착.
cat /proc/net/dev
카운터, 통계 및 정보를 포함해야합니다.
항상 다양한 커널 상태 파일을 직접 구문 분석 할 수 있습니다. netstat
하다.
Man Page는 다음을 제안합니다.
/proc/net/raw
- 원시 소켓 정보/proc/net/tcp
-TCP 소켓 정보/proc/net/udp
-UDP 소켓 정보
아마도이 작업을 수행 할 수없는 방법이 있어야한다고 생각합니다. /sys
도? 나는 빠른 모습을 보았지만 아무것도 찾지 못했습니다.
출력을 구문 분석하십시오 netstat -i
. 또는 strace netstat -i
, 그리고 그것을 사용하여 정보를 찾는 위치를 해결하십시오.
ifconfig
전송 된 데이터 양 (바이트 및 패킷)을 알려줍니다.
다음 명령은 IPv4/ IPv6 통계를 시스템 전체에 유지합니다.
netstat --statistics
nstat -z
cat /proc/net/dev_snmp6/eth0 gives ipv6 stats per interface
전체 이더넷 통계를 인쇄 할 수 있습니다 EthTool:
ethtool -S eth1
Monodevelop의 C#에서 쉽게 수행 할 수 있습니다.
using System.Net.NetworkInformation;
foreach (NetworkInterface ni in interfaces)
{
// perform your calculations
}
제휴하지 않습니다 StackOverflow