ifconfig없이 TX / RX 바이트를 얻는 방법?


61

때문에 ifconfig분명히 주요 리눅스 배포판에서 사용되지되고, 나는이에 대해 뭔가 배울 거라고 생각 ip대신에 사용하기로했다 도구를 ifconfig.

그리고 여기에 문제가 발생했습니다. 자체로 실행할 때 ifconfig다른 정보 외에도 각 인터페이스에서 수신 / 전송 된 바이트 수를 보여줍니다. 에서이 방법을 찾지 못했습니다 ip. 이 도구에는 그러한 기능이 없습니까? 이러한 통계를 얻기 위해 사용할 수있는 다른 내장 도구는 무엇입니까?


당신은 또한 확인할 수 있습니다 netstat. linux.die.net/man/8/netstat
SunSparc

답변:


53

또 다른 옵션은 / proc 파일 시스템을 사용하는 것입니다. / proc 디렉토리 / 그물 / dev에 파일이 구성된 네트워크 인터페이스에 대한 통계를 포함합니다. 각 회선은 하나의 네트워크 인터페이스 전용이며 수신 및 전송에 대한 통계를 포함합니다. 통계에는 수신 / 전송 된 총 바이트 수, 패킷, 삭제, 오류 등과 같은 메트릭이 포함됩니다.

cat /proc/net/dev

    Inter-|   Receive                                                |  Transmit
     face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed

    lo:    29846937   129576     0    0    0     0          0       0 29846937   129576     0    0    0     0       0          0
 wlan0:    9467393340 8027251    0    0    0     0          0       0 2559312961 5896509    0    0    0     0       0          0

또는 모든 네트워크 인터페이스 및 관련 통계를 표시 할 수 있는 netstat 명령을 시도 할 수 있습니다 .

netstat -i

Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
lo         65536   0   130435      0      0      0   130435      0      0      0 LRU
wlan0       1492   0  8028018      0      0      0  5897361      0      0      0 BMRU

/proc/net/dev모든 솔루션 IMO 중 가장 깨끗한 형식을 가지고 있습니다.
justinas

통계에 의해 보여지는 cat /proc/net/dev얼마나 오래?
lalebarde

tx / rx는 /proc/net/dev어떻게 얻 습니까?
Piotr Kula 2016 년

1
3. 출력의 11 필드, AWK 같은 구문 분석을 시도 '/ : / {인쇄 ($ 1, $ 3 $ (11))} </ proc 디렉토리 / 그물 / dev에
dsmsk80

54

ip하여 iproute2를 패키지의 일부 명령은 새로운 도구이다. link부속의 장치 / 인터페이스를 관리한다.

인터페이스를 사용하여 통계를 얻을 수 있다면 ip -s link

root:~# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    50679705   529967   0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    50679705   529967   0       0       0       0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1d:7d:aa:e3:4e brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    187663757  308710386 0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    4051284587 532435117 0       0       0       0

6
그동안 proc대답은 깨끗하고 경량,이 대답은 아마도에 대해 "교체"에 가장 가까운 ifconfig명시 적으로의 교체로 설계 되었기 때문에 도구 ifconfig마음입니다.
Moshe Katz

2
ip -s link show dev eth0eth0의 트래픽 만 표시
pim

4
사람이 읽을 수있는 형태 (바이트 대신 mb / gb / tb로보고)로 이것을 얻으려면 -h플래그를 사용하십시오 . 예를 들어 ip -h -s link.
조셉 레드 펀

46

proc을 통해 필요한 모든 정보를 얻을 수 있습니다

# cat /sys/class/net/eth0/statistics/rx_bytes
# cat /sys/class/net/eth0/statistics/rx_packets

# cat /sys/class/net/eth0/statistics/tx_packets
# cat /sys/class/net/eth0/statistics/tx_bytes

또한 iptables 및 구문 분석 출력을 사용할 수 있습니다.

수신 패킷

# iptables -L INPUT -n -v

전송 된 패킷

# iptables -L OUTPUT -n -v 

서버가 게이트웨이 인 경우 FORWARD 체인 도 구문 분석해야합니다.


2

파일을 읽고 /sys/class/net/wlp3s0/statistics/rx_bytes다른 명령을 호출하지 않고 rx_byes를 직접 가져올 vnstat수도 있습니다. 리눅스는 내가 아는 것처럼 모든 정보를 파일에 저장하므로 해당 파일을 찾고 정보를 얻는 것이 좋습니다. 관련 파일을 찾는 것은 어려운 일입니다.


2
커뮤니티에 오신 것을 환영합니다! 잘하셨습니다. 그러나, 일부 오래된 커널은 이러한 파일을 제공하지 않습니다. 행운과 성공을 기원합니다! ;)
FarazX
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.