LINUX : 인터페이스 매출 된 패킷 카운터 검색 (Ethernet, IPv4, IPv6)

StackOverflow https://stackoverflow.com/questions/349576

  •  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

Wireshark (미묘한 상태 였음)는 당신을 도울 수 있습니다.

NETSTAT 내 두 번째 추측이 될 것입니다

Monodevelop의 C#에서 쉽게 수행 할 수 있습니다.

using System.Net.NetworkInformation;

foreach (NetworkInterface ni in interfaces)
{
  // perform your calculations
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top