มีเครื่องมือตรวจสอบเครือข่ายโอเพนซอร์สจำนวนมากสำหรับ Linux บนเว็บ เช่น คำสั่ง iftop สำหรับตรวจสอบแบนด์วิดท์, netstat หรือ ss สำหรับดูสถิติ interface, หรือ top สำหรับดูกระบวนการที่รันอยู่
แต่หากคุณกำลังมองหาเครื่องมือที่ให้สถิติแบนด์วิดท์เครือข่ายแบบเรียลไทม์ ต่อกระบวนการ (per process) แล้ว NetHogs คือยูทิลิตีเพียงตัวเดียวที่คุณควรค้นหา

NetHogs คืออะไร?
NetHogs เป็นโปรแกรมบรรทัดคำสั่งโอเพนซอร์ส (คล้ายคำสั่ง top ของ Linux) ใช้ตรวจสอบแบนด์วิดท์เครือข่ายแบบเรียลไทม์ที่ใช้โดยแต่ละกระบวนการหรือแอปพลิเคชันใน Linux
จากหน้าโปรเจกต์ NetHogs
NetHogs เป็นเครื่องมือ 'net top' ขนาดเล็ก แทนที่จะแบ่ง traffic ตามโปรโตคอลหรือ subnet เหมือนเครื่องมือส่วนใหญ่ มันจัดกลุ่มแบนด์วิดท์ตามกระบวนการ NetHogs ไม่ขึ้นอยู่กับโมดูลเคอร์เนลพิเศษ หากมีการจราจรเครือข่ายเพิ่มขึ้นอย่างกะทันหัน คุณสามารถเปิด NetHogs และทันทีเห็นว่า PID ไหนเป็นสาเหตุ ทำให้ระบุโปรแกรมที่ "ล่วงลับ" และใช้แบนด์วิดท์มากผิดปกติได้ง่าย
ในบทความนี้ คุณจะได้เรียนรู้วิธีติดตั้งและหาการใช้แบนด์วิดท์เครือข่ายต่อกระบวนการแบบเรียลไทม์ด้วยยูทิลิตี nethogs ภายใต้ระบบปฏิบัติการ Unix/Linux
วิธีติดตั้ง NetHogs ในระบบ Linux
โซลูชันตรวจสอบแบนด์วิดท์ NetHogs นี้มีอยู่ในหลายการกระจาย Linux ขึ้นอยู่กับ distro ที่ใช้ คุณสามารถติดตั้ง nethogs ได้จากวิธีต่อไปนี้:
ติดตั้ง NetHogs ใน RHEL, CentOS, Rocky Linux, และ AlmaLinux
ต้องเปิดใช้งาน repository EPEL บน Linux แบบ RedHat-based ก่อน แล้วใช้คำสั่ง yum ติดตั้งแพ็กเกจ nethogs:
# yum install epel-release # yum install nethogs
บน Fedora Linux ใช้คำสั่ง dnf:
# dnf install nethogs
ติดตั้ง NetHogs ใน Ubuntu, Linux Mint, และ Debian
ใช้คำสั่ง apt ติดตั้งแพ็กเกจ nethogs:
$ sudo apt install nethogs
วิธีใช้ NetHogs ตรวจสอบแบนด์วิดท์ตามกระบวนการ
เพื่อรันยูทิลิตี nethogs ใช้คำสั่งภายใต้ระบบ Red-Hat-based:
# nethogs
บน Linux แบบ Debian-based ต้องมีสิทธิ์ root ให้รันด้วย sudo:
$ sudo nethogs
ตัวอย่างหน้าจอ NetHogs:


จากภาพข้างต้น บรรทัด send และ received แสดงปริมาณ traffic ที่ใช้ต่อกระบวนการ รวม sent และ received ทั้งหมดคำนวณที่ด้านล่าง คุณสามารถเรียงลำดับและเปลี่ยนลำดับได้ด้วยการควบคุมโต้ตอบด้านล่าง
ตัวเลือกบรรทัดคำสั่ง NetHogs
ตัวเลือกบรรทัดคำสั่ง nethogs ดังนี้ ใช้ '-d' เพื่อเพิ่มอัตราการรีเฟรช และ 'device name' เพื่อตรวจสอบแบนด์วิดท์ของอุปกรณ์เฉพาะ (ค่าเริ่มต้นคือ eth0)
เช่น ตั้ง 5 วินาที เป็นอัตรารีเฟรช:
# nethogs -d 5
$ sudo nethogs -d 5
ตรวจสอบแบนด์วิดท์เฉพาะอุปกรณ์ (eth0) เท่านั้น:
# nethogs eth0
$ sudo nethogs eth0
ตรวจสอบแบนด์วิดท์ของทั้ง eth0 และ eth1:
# nethogs eth0 eth1
$ sudo nethogs eth0 eth1
ตัวเลือกและการใช้งาน NetHogs
-d– หน่วงเวลาสำหรับอัตรารีเฟรช-h– แสดงคำสั่งที่ใช้ได้-p– sniff ในโหมด promiscuous (ไม่แนะนำ)-t– tracemode-V– แสดงข้อมูลรุ่น
การควบคุมแบบโต้ตอบของ NetHogs
คีย์บอร์ดชอร์ตคัทที่มีประโยชน์ของโปรแกรม nethogs:
-m– เปลี่ยนหน่วยแสดงแบนด์วิดท์ เช่น KB/sec -> KB -> B -> MB-r– เรียงตามขนาด traffic ที่รับ-s– เรียงตามขนาด traffic ที่ส่ง-q– ออกจากโปรแกรมกลับสู่ shell prompt
สำหรับรายการตัวเลือกเต็มของยูทิลิตี nethogs โปรดดู man pages ด้วยคำสั่ง 'man nethogs' หรือ 'sudo man nethogs' จากเทอร์มินัล
ข้อมูลเพิ่มเติม: หน้าโปรเจกต์ NetHogs
พัฒนาทักษะ Linux ของคุณไปสู่อันดับต่อไป
สมาชิก Root ได้รับการเข้าถึงเต็มรูปแบบทุกหลักสูตร, การเตรียมสอบรับรอง, และไลบรารีเนื้อหา Linux แบบ hands-on ที่เพิ่มขึ้นทุกเดือน
สิ่งที่คุณจะได้รับ:
- เข้าถึงบทความพรีเมียมทั้งหมดโดยไม่มีโฆษณา
- เข้าถึงหลักสูตรทั้งหมด: Learn Linux, AI for Linux, Bash Scripting, Ubuntu Handbook, Golang และอื่นๆ
- เข้าถึงการรับรอง Linux (RHCSA, RHCE, LFCS และ LFCA)
- เข้าถึงหลักสูตรใหม่เมื่อเผยแพร่
- รับจดหมายข่าวรายสัปดาห์
- ความช่วยเหลือลำดับแรกในคอมเมนต์
- ชุมชน Telegram แบบส่วนตัว
- เชื่อมต่อกับชุมชน Linux

ผมคือ Ravi Saive ผู้ประกอบการที่ได้รับรางวัล และผู้ก่อตั้งธุรกิจออนไลน์หลายแห่งที่ประสบความสำเร็จ รวมถึง TecMint.com, GeeksMint.com, UbuntuMint.com, และห้องเรียนพรีเมียม Pro.Tecmint.com
แต่ละบทช่วยสอนที่ TecMint สร้างโดยทีมผู้ดูแลระบบ Linux ที่มีประสบการณ์ เพื่อให้ตรงตาม มาตรฐานคุณภาพสูงของเรา