วิธีการติดตามการใช้ LAN? (AKA 'อันดับต้น ๆ สำหรับ LAN')


27

มีแอพพลิเคชั่นชั่วร้ายที่กินแบนด์วิดท์อัพโหลดทั้งหมดของฉัน (ฉันเป็นคนบราซิลมันแค่ ~ 35kbps) ประมาณ 80% ของเวลาที่พีซีของฉันเปิดอยู่

ฉันต้องการทราบว่ามีวิธีใดบ้างในการติดตามการใช้งานนี้และค้นหาว่าแอปนี้กำลังทำอะไรอยู่

คำตอบ:


12

แล้วnethogsล่ะ? ในความคิดของฉันมันมีมนุษยธรรมมากขึ้น แสดงรายการคำสั่ง / โปรแกรมที่ใช้เครือข่ายและแบนด์วิดท์เท่าใดสำหรับแต่ละรายการแบบเรียลไทม์

ติดตั้งในระบบ ubuntu / debian ด้วย:

sudo apt-get nethogs ติดตั้ง

เรียกใช้เพื่อตรวจสอบส่วนต่อประสานเครือข่ายของคุณดังนี้:

sudo nethogs eth0

ข้อความแสดงแทน


น่าสนใจมาก! = D แก้ไขปัญหาของฉันได้ดีกว่าคอมโบ iftop + netstat ไม่ใช่ว่าทั้งคู่ไม่ดีพวกเขายอดเยี่ยม แต่ไม่ใช่สำหรับสิ่งที่ฉันต้องการ = D
igorsantos07

ดูเหมือนว่าจะไม่มีโหมดแบทช์
Nicholas DiP Piazza

19

iftopเป็นโปรแกรมที่ใช้คอนโซล / เชลล์ที่คล้ายกับด้านบนที่สามารถใช้ไลบรารี pcap (ยังใช้โดย tcpdump และ wireshark) มันสามารถใช้ได้สำหรับ Ubuntu จากจักรวาล

sudo aptitude install iftop
sudo iftop

ในขณะที่รันการอัพเกรดบนระบบ Ubuntu

ข้อความแสดงแทน

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

sudo netstat -plantu | grep "some_port_number_or_ip_address"

ตัวอย่างเช่นหากต้องการดูการเชื่อมต่อแบบเปิดสำหรับ ssh:

sudo netstat -plantu | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2376/sshd       
tcp        0      0 10.13.37.122:22         10.13.37.105:59130      ESTABLISHED 4033/sshd: jtimberm
tcp6       0      0 :::22                   :::*                    LISTEN      2376/sshd 

คุณยังสามารถค้นหาการเชื่อมต่อพอร์ตแบบเปิดด้วย lsof:

sudo lsof -i:22
COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    2376       root    3u  IPv4   5613      0t0  TCP *:ssh (LISTEN)
sshd    2376       root    4u  IPv6   5615      0t0  TCP *:ssh (LISTEN)
sshd    4033       root    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)
sshd    4086 jtimberman    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)

คุณสามารถรับข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ที่เปิดจาก lsof ด้วย -p PID

sudo lsof -p 2376

(เอาต์พุตจำนวนมากจากที่ถูกระงับ)


ด้วยโปรแกรมนี้ฉันสามารถระบุได้ว่าฝ่ายไอทีกำลังเชื่อมต่อกับฉันอยู่ที่ไหนและด้วย netstat ฉันสามารถระบุได้ว่าใครกำลังทำสิ่งนี้อยู่ ฉันต้องทำเครื่องหมายคำตอบทั้งคู่ว่าถูกต้อง! XD
igorsantos07

ฉันไม่คิดว่ามันยุติธรรมที่จะแก้ไขคำตอบของคุณและเพิ่มข้อมูลใหม่จำนวนมาก ... แต่ฉันไม่สามารถคิดเกี่ยวกับวิธีการแก้ปัญหาอื่น ๆ ดังนั้น .. ขอบคุณอีกครั้ง =]
igorsantos07

2
@Igoru เพียงแค่ทำให้คำตอบดีขึ้นเพื่อให้ผู้คนได้รับข้อมูลที่เกี่ยวข้องมากขึ้นหากพวกเขาค้นหาคำถามที่คล้ายกับของคุณเอง
jtimberman

1
รอสักครู่ ... นั่นเป็นระบบ Ubuntu หรือไม่ ดูเหมือน OS X.
หอยทากเชิงกล

ฉันต้องการระบบอูบุนตูจาก mac ของฉัน
jtimberman

9

ntopคือเพื่อนของคุณ แพ็คเกจอยู่ใน linux repos และ macports


2
ntop เป็นโปรแกรมที่ยอดเยี่ยม แต่มันอาจจะเกินกำลังและซับซ้อนเกินไปสำหรับเรื่องนี้
jtimberman

ฉันไม่คิดว่ามันเป็นมิตรอย่างที่ฉันต้องการ ... ฉันคิดว่ามีข้อมูลมากมายสำหรับสิ่งที่ฉันต้องการ และคำตอบของคุณไม่แน่นอน .... มีประโยชน์ แต่ขอขอบคุณล่ะ =]
igorsantos07

5

นอกเหนือจากการใช้ iftop เพื่อระบุที่อยู่และพอร์ตที่ใช้แบนด์วิดท์แล้วคุณสามารถใช้ netstat เพื่อระบุกระบวนการได้

sudo netstat -ntp

นี่จะแสดงการเชื่อมต่อ TCP ทั้งหมดที่เปิดอยู่และชื่อกระบวนการ / รหัสที่แนบมากับแต่ละรายการ


เนื่องจากฉันไม่สามารถลงคะแนน "ยอมรับ" สำหรับทั้งคุณและiftopฉันจะยอมรับเขา - นั่นแสดงให้ฉันเห็นว่าใครบางคนกำลังกินแบนด์วิดท์ของฉัน - และเมื่อมีคนกินแบนด์วิธของฉัน - และลงคะแนนให้คุณเพราะnetstatฉันรู้ว่าใครควรฆ่า ขอขอบคุณ!
igorsantos07

หรือคุณสามารถใช้lsof -i tcp:80เพื่อรวมการค้นหาในพอร์ตเดียว รุ่นนี้โดยเฉพาะจะแสดงรายการกระบวนการทั้งหมดที่เชื่อมต่อกับพอร์ต TCP 80
nagul

2

ในความคิดของฉันอินเทอร์เฟซผู้ใช้ของ iftop นั้นไม่ได้ออกแบบมาอย่างดี ในทางปฏิบัติแทบจะไม่จำเป็นต้องดู IP หรือชื่อโฮสต์แบบเรียลไทม์ หากฉันต้องการรายชื่อของการเชื่อมต่อปัจจุบันทั้งหมดฉันจะไปกับ netstat ตามที่ jtimberman อธิบาย

สำหรับวัตถุประสงค์ของฉัน bmon นั้นเหมาะสมกว่า iftop มันมีส่วนติดต่อผู้ใช้ที่เรียบง่ายมากพร้อมรองรับหลายอินเตอร์เฟสและการวาด "กราฟ" นี่คือภาพหน้าจอ:

bmon

หากคุณไม่ต้องการฟีเจอร์ทั้งหมดที่ bmon นำเสนอbwm-ngอาจเป็นเครื่องมือที่สมบูรณ์แบบสำหรับคุณ มันแสดงเฉพาะแบนด์วิดท์ที่ถูกครอบครองปัจจุบันต่ออินเตอร์เฟส - ไม่มากและไม่น้อย:

BWM-ng


2

nloadเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการตรวจสอบแบนด์วิดท์ตามเวลาจริงและติดตั้งได้ง่ายใน Ubuntu หรือ Debian ด้วย sudo apt-get install nload

Device eth0 [10.10.10.5] (1/2):
=====================================================================================
Incoming:


                               .         ...|    
                               #         ####|   
                           .. |#|  ...   #####.         ..          Curr: 2.07 MBit/s
                          ###.###  #### #######|.     . ##      |   Avg: 1.41 MBit/s
                         ########|#########################.   ###  Min: 1.12 kBit/s
             ........    ###################################  .###  Max: 4.49 MBit/s
           .##########. |###################################|#####  Ttl: 1.94 GByte
Outgoing:
            ##########  ###########    ###########################
            ##########  ###########    ###########################
            ##########. ###########   .###########################
            ########### ###########  #############################
            ########### ###########..#############################
           ############ ##########################################
           ############ ##########################################
           ############ ##########################################  Curr: 63.88 MBit/s
           ############ ##########################################  Avg: 32.04 MBit/s
           ############ ##########################################  Min: 0.00 Bit/s
           ############ ##########################################  Max: 93.23 MBit/s
         ############## ##########################################  Ttl: 2.49 GByte

เครื่องมือที่ยอดเยี่ยมอีกอย่างหนึ่งคือiftopยังเป็น apt-get'able ได้อย่างง่ายดาย:

             191Mb      381Mb                 572Mb       763Mb             954Mb     
└────────────┴──────────┴─────────────────────┴───────────┴──────────────────────
box4.local            => box-2.local                      91.0Mb  27.0Mb  15.1Mb
                      <=                                  1.59Mb   761kb   452kb
box4.local            => box.local                         560b   26.8kb  27.7kb
                      <=                                   880b   31.3kb  32.1kb
box4.local            => userify.com                         0b   11.4kb  8.01kb
                      <=                                  1.17kb  2.39kb  1.75kb
box4.local            => b.resolvers.Level3.net              0b     58b    168b
                      <=                                     0b     83b    288b
box4.local            => stackoverflow.com                   0b     42b     21b
                      <=                                     0b     42b     21b
box4.local            => 224.0.0.251                         0b      0b    179b
                      <=                                     0b      0b      0b
224.0.0.251           => box-2.local                         0b      0b      0b
                      <=                                     0b      0b     36b
224.0.0.251           => box.local                           0b      0b      0b
                      <=                                     0b      0b     35b


─────────────────────────────────────────────────────────────────────────────────
TX:           cum:   37.9MB   peak:   91.0Mb     rates:   91.0Mb  27.1Mb  15.2Mb
RX:                  1.19MB           1.89Mb              1.59Mb   795kb   486kb
TOTAL:               39.1MB           92.6Mb              92.6Mb  27.9Mb  15.6Mb

อย่าลืมเกี่ยวกับ sar คลาสสิกและมีประสิทธิภาพและสาธารณูปโภค netstat บนเก่า * ระวัง!


1

Wiresharkยังเป็นแอพที่ดีมาก (หลายแพลตฟอร์ม) สำหรับการตรวจสอบปริมาณการใช้เครือข่าย นี่คือคำอธิบายจากเว็บไซต์:

Wireshark เป็นตัววิเคราะห์โปรโตคอลเครือข่ายที่สำคัญที่สุดของโลกและเป็นมาตรฐาน (และมักจะทางนิตินัย) ในทุกอุตสาหกรรมและสถาบันการศึกษา


0

คุณสามารถทำได้ที่ระดับเราเตอร์ขึ้นอยู่กับเฟิร์มแวร์ของคุณ ตัวอย่างเช่นถ้าคุณใช้DD-WRTคุณสามารถติดตามการใช้งานเมื่อเวลาผ่านไปและโดยเครื่อง


ในความเป็นจริงฉันคิดว่าการใช้เราเตอร์ ADSL ของฉันเพียงเพื่อแก้ปัญหาเล็ก ๆ นี้นั้นเกินความจำเป็น ฉันคิดว่ามันเป็นเรื่องง่ายที่จะแก้ไข แต่ขอบคุณสำหรับความช่วยเหลือของคุณ!
igorsantos07

0

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

นี่เป็นหนึ่งในหลาย ๆ บทความออนไลน์ที่ให้ข้อมูลเกี่ยวกับการติดตั้งไฟร์วอลล์บน ubuntu:
http://linux.com/news/enterprise/systems-management/8256-installing-a-firewall-on-ubuntu


ฉันคิดว่าฉันมี UFW ใน Ubuntu อยู่แล้ว .. อย่างไรก็ตามฉันคิดว่ามันจะเป็นปัญหาเล็กน้อยในการแก้ปัญหาด้วยวิธีนี้ .. ปัญหาไม่ได้เกิดขึ้นตลอดเวลามันเป็นระยะ ๆ แต่บ่อยครั้งเล็กน้อย แต่ถ้าแอปข้อมูลอื่น ๆ ล้มเหลวฉันจะลองใช้ไฟร์วอลล์! ขอขอบคุณ!
igorsantos07
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.