มีแอพพลิเคชั่นชั่วร้ายที่กินแบนด์วิดท์อัพโหลดทั้งหมดของฉัน (ฉันเป็นคนบราซิลมันแค่ ~ 35kbps) ประมาณ 80% ของเวลาที่พีซีของฉันเปิดอยู่
ฉันต้องการทราบว่ามีวิธีใดบ้างในการติดตามการใช้งานนี้และค้นหาว่าแอปนี้กำลังทำอะไรอยู่
มีแอพพลิเคชั่นชั่วร้ายที่กินแบนด์วิดท์อัพโหลดทั้งหมดของฉัน (ฉันเป็นคนบราซิลมันแค่ ~ 35kbps) ประมาณ 80% ของเวลาที่พีซีของฉันเปิดอยู่
ฉันต้องการทราบว่ามีวิธีใดบ้างในการติดตามการใช้งานนี้และค้นหาว่าแอปนี้กำลังทำอะไรอยู่
คำตอบ:
แล้วnethogsล่ะ? ในความคิดของฉันมันมีมนุษยธรรมมากขึ้น แสดงรายการคำสั่ง / โปรแกรมที่ใช้เครือข่ายและแบนด์วิดท์เท่าใดสำหรับแต่ละรายการแบบเรียลไทม์
ติดตั้งในระบบ ubuntu / debian ด้วย:
sudo apt-get nethogs ติดตั้ง
เรียกใช้เพื่อตรวจสอบส่วนต่อประสานเครือข่ายของคุณดังนี้:
sudo nethogs eth0
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
(เอาต์พุตจำนวนมากจากที่ถูกระงับ)
ntopคือเพื่อนของคุณ แพ็คเกจอยู่ใน linux repos และ macports
นอกเหนือจากการใช้ iftop เพื่อระบุที่อยู่และพอร์ตที่ใช้แบนด์วิดท์แล้วคุณสามารถใช้ netstat เพื่อระบุกระบวนการได้
sudo netstat -ntp
นี่จะแสดงการเชื่อมต่อ TCP ทั้งหมดที่เปิดอยู่และชื่อกระบวนการ / รหัสที่แนบมากับแต่ละรายการ
iftop
ฉันจะยอมรับเขา - นั่นแสดงให้ฉันเห็นว่าใครบางคนกำลังกินแบนด์วิดท์ของฉัน - และเมื่อมีคนกินแบนด์วิธของฉัน - และลงคะแนนให้คุณเพราะnetstat
ฉันรู้ว่าใครควรฆ่า ขอขอบคุณ!
lsof -i tcp:80
เพื่อรวมการค้นหาในพอร์ตเดียว รุ่นนี้โดยเฉพาะจะแสดงรายการกระบวนการทั้งหมดที่เชื่อมต่อกับพอร์ต TCP 80
ในความคิดของฉันอินเทอร์เฟซผู้ใช้ของ iftop นั้นไม่ได้ออกแบบมาอย่างดี ในทางปฏิบัติแทบจะไม่จำเป็นต้องดู IP หรือชื่อโฮสต์แบบเรียลไทม์ หากฉันต้องการรายชื่อของการเชื่อมต่อปัจจุบันทั้งหมดฉันจะไปกับ netstat ตามที่ jtimberman อธิบาย
สำหรับวัตถุประสงค์ของฉัน bmon นั้นเหมาะสมกว่า iftop มันมีส่วนติดต่อผู้ใช้ที่เรียบง่ายมากพร้อมรองรับหลายอินเตอร์เฟสและการวาด "กราฟ" นี่คือภาพหน้าจอ:
หากคุณไม่ต้องการฟีเจอร์ทั้งหมดที่ bmon นำเสนอbwm-ngอาจเป็นเครื่องมือที่สมบูรณ์แบบสำหรับคุณ มันแสดงเฉพาะแบนด์วิดท์ที่ถูกครอบครองปัจจุบันต่ออินเตอร์เฟส - ไม่มากและไม่น้อย:
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 บนเก่า * ระวัง!
Wiresharkยังเป็นแอพที่ดีมาก (หลายแพลตฟอร์ม) สำหรับการตรวจสอบปริมาณการใช้เครือข่าย นี่คือคำอธิบายจากเว็บไซต์:
Wireshark เป็นตัววิเคราะห์โปรโตคอลเครือข่ายที่สำคัญที่สุดของโลกและเป็นมาตรฐาน (และมักจะทางนิตินัย) ในทุกอุตสาหกรรมและสถาบันการศึกษา
คุณสามารถทำได้ที่ระดับเราเตอร์ขึ้นอยู่กับเฟิร์มแวร์ของคุณ ตัวอย่างเช่นถ้าคุณใช้DD-WRTคุณสามารถติดตามการใช้งานเมื่อเวลาผ่านไปและโดยเครื่อง
ติดตั้งไฟร์วอลล์และอย่างน้อยก็ชั่วคราวทำให้มันบล็อกการเชื่อมต่อขาออกทั้งหมด ควรแจ้งให้คุณทราบเมื่อมีบางสิ่งพยายามเชื่อมต่อ ณ จุดที่คุณควรมีผู้ร้าย :-)
นี่เป็นหนึ่งในหลาย ๆ บทความออนไลน์ที่ให้ข้อมูลเกี่ยวกับการติดตั้งไฟร์วอลล์บน ubuntu:
http://linux.com/news/enterprise/systems-management/8256-installing-a-firewall-on-ubuntu