จะแสดงปริมาณการใช้งานเครือข่ายในเครื่องได้อย่างไร?


395

วิธีการแสดงปริมาณการใช้งานเครือข่ายจริง (ไร้สาย) ในเทอร์มินัล

นอกจากนี้มันเป็นไปได้ที่จะเพิ่มข้อมูลนี้ไปยังแผนภูมิของtop?


3
วิธีแก้ปัญหาสำหรับ "มันเป็นไปได้ที่จะเพิ่มข้อมูลนี้ไปยังแผนภูมิของtop?" ส่วนหนึ่ง? :)
Janaka Bandara

1
@JanakaBandara ตรวจสอบสายตา
ESala

คำตอบ:


432

นี่เป็นเครื่องมือที่ดีในคลังเก็บ Ubuntu สำหรับการตรวจสอบปริมาณข้อมูลเครือข่ายบรรทัดคำสั่ง:

bmon - แสดงหลายอินเตอร์เฟสพร้อมกัน

ป้อนคำอธิบายรูปภาพที่นี่

slurm - มีกราฟสีที่ดี

ป้อนคำอธิบายรูปภาพที่นี่

tcptrack - รายการโปรด บอกถึงปริมาณการใช้แบนด์วิดท์และโปรโตคอล (บริการ / พอร์ต) และปลายทางที่การส่งกำลังเกิดขึ้น มีประโยชน์มากเมื่อคุณต้องการทราบว่าสิ่งใดที่ใช้แบนด์วิดท์ของคุณหมด

ป้อนคำอธิบายรูปภาพที่นี่


8
bmon เจ๋งจริงๆ! มีกราฟอย่าง slurm แต่ไม่มีสีสัน
เบาหวิว

26
sudo apt-get install bmon slurm tcptrack
นาบิลคาดิมิ

3
nloadสมควรได้รับการกล่าวถึงสำหรับการแยกการอัปโหลดและดาวน์โหลดที่ดีขึ้น (เช่นกันไม่ได้สีสัน)
Chris

1
tcptrack ยอดเยี่ยม!
Robert

sudo apt install ethstatus
isync

146

มันค่อนข้างง่าย! ติดตั้ง "iftop" ด้วย:

sudo apt-get install iftop

จากนั้นเรียกใช้

sudo iftop

จากสถานีใด ๆ !

สนุก!


8
หากต้องการเห็นอะไรฉันต้องเรียกใช้ (Ubuntu ที่ใช้ wifi): $ sudo iftop -i wlan0
russian_spy

ไม่iftopยังบันทึกหรือเข้าสู่ระบบแบนด์วิธเครือข่ายจากเวลา? ปัจจุบันผมใช้ทั้งสองvnstatและiftopสำหรับการใช้งานที่แตกต่างกันและvnstatบันทึกการใช้งานแบนด์วิดธ์ มันจะมากเกินไปและเพิ่มการโหลดให้กับเซิร์ฟเวอร์ของฉันถ้าiftopทำได้เช่นกัน
Oki Erie Rinaldi

132

nethogsบางคนก็ควรที่จะได้กล่าวถึง

สิ่งที่แตกต่างและอาจดูเท่ห์กว่านี้คือมันแสดงปริมาณการใช้งานต่อ กระบวนการเช่นภาพที่แสดง

ป้อนคำอธิบายรูปภาพที่นี่

ลองดูที่หน้า


8
ในการติดตั้ง: sudo apt-get -y install nethogsจากนั้นsudo nethogs
bmaupin

ยูทิลิตี้ที่มีประโยชน์มากเพียงแค่ทราบว่าคุณอาจต้องใช้ขั้นตอนพิเศษในการติดตั้งเพื่อให้สามารถทำงานได้ใน 14.04 ตามที่askubuntu.com/a/729560/79176อธิบาย
ขนาดใหญ่

สำหรับผู้ที่มี Debian Jessie ที่เกิดขึ้นที่นี่เช่นกัน: เวอร์ชันการทำงานอยู่ใน Backport: apt-get install nethogs/jessie-backports( คุณต้องเพิ่ม jessie-backport ก่อน )
Tino

1
"มันแสดงปริมาณการใช้งานต่อกระบวนการ" สิ่งที่ฉันต้องการขอบคุณ!
Paul Feakins

52

มีเครื่องมือที่ดีที่เรียกว่ามาตรวัดความเร็วที่แสดงกราฟในเทอร์มินัลโดยใช้อักขระบล็อก Unicode สีและยังเพิ่มป้ายกำกับให้กับแต่ละจุดสูงสุดในกราฟ

$ sudo apt-get install speedometer
$ speedometer -l  -r wlan0 -t wlan0 -m $(( 1024 * 1024 * 3 / 2 ))

สกรีนช็อตหลังจากรันคำสั่งก่อนหน้า

มีหลายตัวเลือกสามารถตรวจสอบอินเตอร์เฟสหลายตัวสามารถแสดงกราฟหลาย ๆ แถวในหลายแถวหรือหลายคอลัมน์และสามารถตรวจสอบความเร็วในการดาวน์โหลดไฟล์เดียว (โดยดูขนาดไฟล์บนดิสก์)


2
นี่คือกราฟ Visiual ที่ดีที่สุดที่ฉันเคยเห็นในการแสดงข้อความธรรมดา ฉันจะดูห้องสมุด gui โดยผู้เขียนคนเดียวกันตอนนี้: urwid.org (ซอร์สโค้ดและผู้แต่ง: github.com/wardi )
ThorSummoner

1
@ThorSummoner: นี่เป็นการปิดหัวข้อ แต่urwidเป็นไลบรารีที่ใช้โดยดีบักเกอร์PuDB Python ที่ยอดเยี่ยม
Denilson Sá Maia

สิ่งนี้อยู่ที่ "กำลังรอ <interface> ที่จะสร้าง"
felwithe

@felwithe นั่นอาจหมายความว่าคุณผ่านชื่ออินเทอร์เฟซเครือข่ายผิด ลองเปลี่ยนwlan0คำสั่งeth0นั้นเป็นชื่อใด ๆ ของอินเทอร์เฟซเครือข่ายในระบบของคุณ ดูเพิ่มเติมที่: unix.stackexchange.com/a/125406
Denilson Sá Maia

@ DenilsonSáMaiaฉันไม่ได้; ฉันตรวจสอบแล้ว ฉันลองอินเทอร์เฟซอื่นเช่นกัน นั่นคือตลอดเวลาที่ฉันต้องเล่นกับมัน ฉันมีปัญหาเครือข่ายและต้องหาเครื่องมือที่ใช้งานได้เร็วที่สุด ฉันใช้หนึ่งในวิธีง่าย ๆ และปรากฎว่าปัญหาไม่ได้แบนด์วิดท์
felwithe

46

iptraf

IPTraf เป็นยูทิลิตี้สถิติเครือข่ายที่ใช้คอนโซลสำหรับ Linux มันรวบรวมตัวเลขที่หลากหลายเช่นแพ็คเก็ตการเชื่อมต่อ TCP และจำนวนไบต์สถิติอินเตอร์เฟสและตัวบ่งชี้กิจกรรมการแบ่งปริมาณการรับส่งข้อมูล TCP / UDP และจำนวนแพ็กเก็ตของสถานี LAN และจำนวนไบต์

คุณสมบัติ

เครื่องตรวจสอบปริมาณการใช้ IP ที่แสดงข้อมูลการรับส่งข้อมูล IP ผ่านเครือข่ายของคุณ รวมถึงข้อมูลการตั้งค่าสถานะ TCP จำนวนแพ็กเก็ตและจำนวนไบต์รายละเอียด ICMP ประเภทแพ็กเก็ต OSPF สถิติอินเตอร์เฟสทั่วไปและรายละเอียดที่แสดง IP, TCP, UDP, ICMP, ไม่ใช่ IP และจำนวนแพ็กเก็ต IP อื่น ๆ , ข้อผิดพลาดการตรวจสอบ IP, กิจกรรมอินเตอร์เฟส, นับขนาดของแพ็คเก็ต มอนิเตอร์เซอร์วิส TCP และ UDP แสดงจำนวนของแพ็กเก็ตขาเข้าและขาออกสำหรับพอร์ตแอ็พพลิเคชัน TCP และ UDP ทั่วไปโมดูลสถิติ LAN ที่ค้นหาโฮสต์ที่ใช้งานอยู่และแสดงสถิติที่แสดงกิจกรรมข้อมูลบนตัวกรองการแสดงโปรโตคอล TCP, UDP และโปรโตคอลอื่น ๆ ดูทราฟฟิกที่คุณสนใจเท่านั้นการบันทึกรองรับประเภทอีเธอร์เน็ต FDDI, ISDN, SLIP, PPP และลูปแบ็ค ใช้ประโยชน์จากอินเตอร์เฟสซ็อกเก็ต raw ของเคอร์เนล Linux อนุญาตให้ใช้กับการ์ดเครือข่ายที่รองรับได้หลากหลาย การทำงานแบบเต็มหน้าจอควบคุมด้วยเมนู

ได้รับการยอมรับโปรโตคอล

IP TCP UDP ICMP IGMP IGP IGRP OSPF ARP RARP

แพ็คเก็ตที่ไม่ใช่ IP จะถูกระบุเป็น "Non-IP" และบน Ethernet LAN จะได้รับที่อยู่อีเธอร์เน็ตที่เหมาะสม

อินเทอร์เฟซที่รองรับ

Local loopback อินเตอร์เฟส Ethernet ที่รองรับ Linux ทั้งหมดอินเตอร์เฟส FDDI ที่สนับสนุน Linux SLIP Asynchronous PPP ซิงโครนัส PPP ผ่าน ISDN ISDN พร้อม IP Encapsulation แบบ Raw IP ISDN พร้อม Cisco HDLC encapsulation Parallel Line IP

แหล่งที่มาhttp://iptraf.seul.org/about.html

การติดตั้ง

ด้วยapt:

apt-get install iptraf

หรือดาวน์โหลดแหล่งที่มา:

http://iptraf.seul.org/download.html

ภาพหน้าจอ

การเชื่อมต่อปัจจุบัน:

การเชื่อมต่อ TCP

พอร์ตปัจจุบัน:

ป้อนคำอธิบายรูปภาพที่นี่

สรุปการเชื่อมต่อทั้งหมด:

ป้อนคำอธิบายรูปภาพที่นี่

รายละเอียดต่ออินเตอร์เฟส:

ป้อนคำอธิบายรูปภาพที่นี่

แหล่งที่มาhttp://iptraf.seul.org/shots.html


ใน Ubuntu 18.04 ดูเหมือนว่าได้เข้ามาแทนที่iptraf-ng iptraf
wisbucky

24
tcpdump -i eth0 

ที่จะให้ข้อมูลสตรีมของข้อมูลทั้งหมดที่ไหลจากอินเทอร์เฟซนั้น (การ์ดอีเทอร์เน็ตของคุณ) คล้ายกับ wireshark

ใช้ifconfigเพื่อดูรายการอินเตอร์เฟสของเครื่องของคุณ


1
นี่จะแสดงข้อมูลเครือข่ายอย่างแน่นอน ... ไม่ใช่อินเทอร์เฟซที่ใช้งานง่ายและไม่มีสถิติรวม คิดอย่างนี้แน่นอนเช่น wireshark
2943160

22

ฉันคิดว่าifconfig [interface]จะทำอย่างนั้น ชอบ:

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig wlan0
wlan0 ลิงก์ encap: อีเทอร์เน็ต HWaddr 00: 18: de: 89: 52: 71  
          BROADCAST MULTICAST MTU: 1500 เมตริก: 1
          แพ็กเก็ต RX: 0 ข้อผิดพลาด: 0 ลดลง: 0 overruns: 0 เฟรม: 0
          แพ็กเก็ต TX: 0 ข้อผิดพลาด: 0 ลดลง: 0 overruns: 0 ผู้ให้บริการ: 0
          การชน: 0 txqueuelen: 1,000 
          จำนวนไบต์: 0 (0.0 B) TX ไบต์: 0 (0.0 B)

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig eth0
eth0 ลิงค์ encap: อีเธอร์เน็ต HWaddr 00: 16: 36: bf: 92: e3  
          inet addr: 192.168.10.100 Bcast: 192.168.10.255 รูปแบบ: 255.255.255.0
          inet6 addr: fe80 :: 216: 36ff: febf: 92e3 / 64 ขอบเขต: ลิงก์
          ออกอากาศแบบมัลติคาสต์วิ่ง MTU: 1500 เมตริก: 1
          แพ็คเก็ต RX: ข้อผิดพลาด 342765: 0 ลดลง: 0 overruns: 0 เฟรม: 0
          แพ็กเก็ต TX: ข้อผิดพลาด 306183: 0 ลดลง: 0 overruns: 0 ผู้ให้บริการ: 0
          การชน: 0 txqueuelen: 1,000 
          จำนวนไบต์: 373934806 (373.9 MB) TX ไบต์: 39111569 (39.1 MB)
          ขัดขวาง: 16 

มันแสดงให้เห็นไบต์ RX: 73934806 (373.9 MB)และเท็กซัสไบต์: 39111569 (39.1 MB)


2
แต่นี่เป็นเพียงสถิติทั้งหมดสำหรับเซสชั่นนี้ ฉันจะดูว่าการเชื่อมต่อใช้งานได้หรือไม่
IndexOutOfBoundsException

6
netstat -t -u -c?
hingev

14

เครื่องมือที่มีประโยชน์อีกอย่างคือ sar ติดตั้ง

apt install sysstat

วิธีใช้งาน:

sar -n DEV  1

และคู่มือกราฟที่น่าทึ่งของเบรนแดน: ป้อนคำอธิบายรูปภาพที่นี่

อ้างอิง


+1 สำหรับการกล่าวถึงsarซึ่งทำงานและรวมอยู่ (และเปิดใช้งาน) โดยค่าเริ่มต้นด้วยส่วนใหญ่หากไม่ใช่ distros ทั้งหมด
vladr

13

ติดตั้ง 'vnstat' มันสามารถแสดงปริมาณการใช้งานสำหรับอินเทอร์เฟซ คุณสามารถติดตั้งแพ็คเกจการลงจุดเพื่อรับกราฟที่ดี


1
นี่น่าจะเป็นตัวเลือกที่ดีที่สุดในการรับประวัติการใช้งาน: askubuntu.com/questions/1459/ …
Ciro Santilli 事件改造改造中心法轮功六四

13

หากคุณกำลังมองหาสิ่งที่ง่ายมาก แต่ก็ยังมีประโยชน์ลอง ifstat

$ sudo apt-get install ifstat
$ ifstat
       eth0               wlan0       
 KB/s in  KB/s out   KB/s in  KB/s out
    0.00      0.00      0.96      4.79
    0.00      0.00      0.04      0.14

ตรวจสอบอินเทอร์เฟซทั้งหมดพร้อมกันพิมพ์บรรทัดใหม่ทุกวินาที มีประโยชน์ในการไพพ์เข้าสู่สคริปต์อื่นหรือปล่อยให้การรันและสังเกตการใช้แบนด์วิดท์เป็นระยะ ไม่ได้สวยเหมือนเครื่องมืออื่น ๆ แต่มันทำให้งานเสร็จ

มีตัวเลือกที่มีประโยชน์อยู่ในmanpage :

-z  Hides interface which counters are null, eg interfaces that are up but not used.
-n  Turns off displaying the header periodically.
-t  Adds a timestamp at the beginning of each line.
-T  Reports total bandwith for all monitored interfaces.
-S  Keep stats updated on the same line if possible (no scrolling nor wrapping).
-b  Reports bandwith in kbits/sec instead of kbytes/sec.

1
ฉันรักคำสั่งนี้: ifstat -zntSซึ่งแสดงเฉพาะส่วนต่อประสานเครือข่ายที่ไม่เป็นโมฆะโดยมีการประทับเวลาโดยไม่มีส่วนหัวแสดงเป็นระยะและมีผลลัพธ์ในหนึ่งบรรทัดเท่านั้น (ฉันรักหน้าคน)
Igor V.


8

Ifstat เป็นเครื่องมือที่ดีและจะให้การใช้งานเครือข่ายอินเทอร์เฟซทั้งหมดตามเวลา

sudo apt-get install ifstat

ป้อนคำอธิบายรูปภาพที่นี่


7

นี่ไม่ใช่เฉพาะเครือข่าย แต่Glancesสามารถแสดงปริมาณการใช้เครือข่ายของอินเทอร์เฟซต่าง ๆ

ป้อนคำอธิบายรูปภาพที่นี่

ติดตั้งด้วยคำสั่งอย่างใดอย่างหนึ่งเหล่านี้:

sudo snap install glances
sudo apt install glances

6

ตามifconfig คน :

โปรแกรมนี้ล้าสมัยแล้ว! สำหรับการตรวจสอบการแทนที่ ip addr และ ip link สำหรับสถิติให้ใช้ลิงก์ ip -s

ดังนั้นการใช้คำสั่งip :

 $ ip -s link

เราสามารถรับสถิติเครือข่าย:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    173654497900 26078946 0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    173654497900 26078946 0       0       0       0
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    3650412438854 399476618 0       2551849 0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617437624480 321390259 0       0       0       0

หรือ

$ ip -s -h link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    174G       26.1M    0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    174G       26.1M    0       0       0       0 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    3.65T      399M     0       2.55M   0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617G       321M     0       0       0       0


2

ฉันเพิ่งค้นพบซึ่งสามารถติดตั้งโดยใช้wavemonapt-get install wavemon

เครื่องมือนี้ให้ข้อมูลโดยเฉพาะในระดับสัญญาณของเครือข่ายไร้สาย


2

และนี่คือบล็อกที่แสดงรายการคำสั่งเพื่อตรวจสอบแบนด์วิดท์:

http://www.binarytides.com/linux-commands-monitor-network/

UPDATE:

ฉันใช้NetHogsมาประมาณสองเดือนแล้ว มันแสดงให้คุณเห็นการใช้แบนด์วิดธ์ทั้งหมด ด้วยการตั้งค่าต่อไปนี้คุณสามารถรับการใช้แบนด์วิดท์เพิ่มเติมสำหรับแต่ละโปรแกรมได้

sudo nethogs -v 3


1

นอกจากนี้ยังมีconky

คุณอาจมีแพ็กเกจที่แสดงอยู่ในที่เก็บของระบบที่คุณใช้อยู่ในปัจจุบัน ลองใช้:

sudo apt-get install conky-all

บางข้อมูลการกำหนดค่าพื้นฐาน: อูบุนตูชุมชนเอกสาร: การกำหนดค่า Conky ข้อควรระวัง: ข้อมูลในเว็บไซต์นั้นอาจล้าสมัยดังนั้นโปรดตรวจสอบขั้นตอนที่แสดงในระบบของคุณ

แน่นอน conky พื้นฐานน่าเบื่อมากที่จะดูดังนั้นนี่เป็นชุดรูปแบบ conky ที่ดีเพื่อให้คุณเริ่มต้น:

Harmattan

เพียงทำตามคำแนะนำในหน้านั้นเพื่อตั้งค่า เพื่อติดตั้งชุดรูปแบบเฉพาะให้คัดลอก.conkyrcไฟล์จากโฟลเดอร์ที่เกี่ยวข้องสำหรับชุดรูปแบบใน.harmattan-themesโฟลเดอร์ไปยังไดเรกทอรีบ้านของคุณ

จากนั้นแก้ไขไฟล์ตามคำแนะนำในหน้าเชื่อมโยง

เคล็ดลับ

ปรับเปลี่ยนไฟล์หลังจากคัดลอกไปยังโฟลเดอร์บ้านของคุณด้วยวิธีนี้คุณจะได้รับการเก็บรักษาไฟล์ต้นฉบับที่ไม่เปลี่ยนแปลงในกรณีที่คุณต้องการคัดลอก.conkyrcไฟล์อีกครั้งสำหรับธีม


1

nettop เป็นตัวเลือกอื่น (ไม่ใช่ใน repos linux มาตรฐาน)

วิธีสร้างโคลน repo:

git clone https://github.com/Emanem/nettop.git

ติดตั้งการพึ่งพา:

sudo apt-get install libncurses5-dev libncursesw5-dev build-essential libpcap-dev

และสร้างไบนารี:

make

ทำงานด้วย:

sudo ./nettop

Btw, macos มียูทิลิตี้ในตัวที่เรียกว่าnettopทำสิ่งเดียวกัน แต่มีคุณสมบัติเพิ่มเติม


0

สำหรับฉันSlurmทำงานได้ดี:

ติดตั้ง:

sudo apt install slurm

รายการอินเตอร์เฟซ

ifconfig

ส่วนต่อประสานจอภาพ (เปลี่ยน eth0):

slurm -i eth0
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.