Bagaimana cara melacak penggunaan LAN? (AKA 'top for LAN')

27

Ada aplikasi jahat yang memakan SEMUA bandwidth unggahan saya (saya brazil, hanya ~ 35kbps) karena seperti 80% dari waktu PC saya dinyalakan.

Saya ingin tahu apakah ada cara untuk melacak penggunaan ini dan mengetahui aplikasi apa yang melakukan ini.

igorsantos07
sumber

Jawaban:

12

Bagaimana dengan nethogs ? Menurut pendapat saya, itu jauh lebih manusiawi. Daftar perintah / program mana yang menggunakan jaringan dan berapa banyak bandwidth untuk masing-masingnya, secara realtime.

Instal di sistem ubuntu / debian dengan:

sudo apt-get install nethogs

Jalankan untuk memonitor antarmuka jaringan Anda seperti ini:

sudo nethogs eth0

teks alternatif

vulcan_hacker
sumber
sangat menarik! = D Perbaiki masalah saya lebih baik daripada kombo iftop + netstat. Bukannya keduanya tidak baik, mereka luar biasa, tetapi tidak untuk apa yang saya butuhkan. = D
igorsantos07
ini tampaknya tidak memiliki mode batch.
Nicholas DiPiazza
19

iftopadalah program berbasis konsol / shell mirip dengan top yang dapat menggunakan perpustakaan pcap (juga digunakan oleh tcpdump dan wireshark). Ini tersedia untuk Ubuntu dari Universe.

sudo aptitude install iftop
sudo iftop

Saat menjalankan pemutakhiran pada sistem ubuntu:

teks alternatif

Dengan netstat, Anda dapat mengetahui proses apa yang terhubung ke port atau IP tertentu. Untuk port, itu ide yang bagus untuk awalan dengan titik dua.

sudo netstat -plantu | grep "some_port_number_or_ip_address"

Misalnya, untuk melihat koneksi terbuka untuk 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 

Anda juga dapat mencari koneksi port terbuka dengan 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)

Anda dapat memperoleh informasi lebih lanjut tentang file yang dibuka dari lsof dengan -p PID.

sudo lsof -p 2376

(Banyak output dari itu ditekan)

jtimberman
sumber
Dengan program ini saya bisa menentukan di mana IT memakan koneksi saya ... dan dengan netstat saya bisa menentukan siapa yang melakukan ini. Saya perlu menandai kedua jawaban itu sebagai benar! XD
igorsantos07
Saya benar-benar tidak berpikir itu adil untuk mengedit jawaban Anda dan menambahkan banyak info baru ... tetapi saya tidak dapat memikirkan solusi lain, jadi .. terima kasih lagi =]
igorsantos07
2
@Igoru Hanya membuat jawaban lebih baik sehingga orang mendapatkan informasi yang lebih relevan jika mereka mencari pertanyaan yang mirip dengan Anda.
jtimberman
1
Tunggu ... apakah itu sistem Ubuntu? Sepertinya OS X.
Mekanik siput
Saya ssh'd ke sistem ubuntu dari mac saya.
jtimberman
9

ntop adalah temanmu. Paket ada di repo dan macports linux.

Nicholas
sumber
2
ntop adalah program yang sangat baik, tetapi mungkin terlalu banyak dan rumit untuk ini.
jtimberman
Saya tidak berpikir itu ramah karena saya ingin ... Saya pikir ada begitu banyak info untuk apa yang saya butuhkan. Dan jawaban Anda tidak sepenuhnya .... helful. Tapi terima kasih pula =]
igorsantos07
5

Selain menggunakan iftop untuk mengidentifikasi alamat dan port yang menggunakan bandwidth, Anda dapat menggunakan netstat untuk mengidentifikasi prosesnya

sudo netstat -ntp

Ini akan menampilkan semua koneksi TCP terbuka dan nama proses / id terpasang untuk masing-masing.

Rog
sumber
Karena saya tidak dapat memilih "diterima" untuk Anda dan iftopsaya, saya akan menerimanya - yang menunjukkan secara tepat kapan dan bagaimana seseorang memakan bandwidth saya - dan memilih Anda karena netstatsaya tahu saya harus membunuh siapa. Terima kasih!
igorsantos07
Atau, Anda dapat menggunakan lsof -i tcp:80untuk memusatkan pencarian Anda pada satu port. Versi khusus ini akan mencantumkan semua proses yang terhubung pada tcp port 80.
nagul
2

Menurut pendapat saya, antarmuka pengguna iftop tidak dirancang dengan baik. Dalam prakteknya hampir tidak pernah ada kebutuhan untuk melihat IP atau nama host secara realtime. Jika saya perlu, daftar semua koneksi saat ini, saya hanya akan pergi dengan netstat seperti yang dijelaskan jtimberman.

Untuk tujuan saya, bmon lebih cocok daripada iftop. Ini memiliki antarmuka pengguna yang sangat sederhana dengan dukungan untuk banyak antarmuka dan menggambar "grafik". Ini screenshotnya:

Bmon

Jika Anda tidak membutuhkan semua fitur yang ditawarkan bmon, bwm-ng mungkin menjadi alat yang sempurna untuk Anda. Ini hanya menunjukkan bandwidth yang ditempati saat ini per antarmuka - tidak lebih dan tidak kurang:

bwm-ng

timn
sumber
2

nload adalah alat yang hebat untuk memonitor bandwidth secara real time dan mudah dipasang di Ubuntu atau Debian dengan 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

Alat luar biasa lainnya adalah iftop , juga dapat dengan mudah digunakan:

             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

Jangan lupa tentang utilitas sar dan netstat yang klasik dan kuat di * nix lama!

Jamieson Becker
sumber
1

Wireshark juga merupakan aplikasi (multiplatform) yang sangat bagus untuk memonitor lalu lintas jaringan. Berikut deskripsi dari situs tersebut:

Wireshark adalah penganalisa protokol jaringan terkemuka di dunia, dan merupakan standar de facto (dan sering de jure) di banyak industri dan lembaga pendidikan.

alex
sumber
0

Anda dapat melakukan ini di tingkat router tergantung pada firmware Anda. Misalnya, jika Anda menggunakan DD-WRT , Anda dapat melacak penggunaan dari waktu ke waktu dan dengan mesin.

Teman saya
sumber
Sebenarnya saya berpikir bahwa menggunakan router ADSL saya hanya untuk memecahkan masalah kecil ini adalah berlebihan dan rumit. Saya pikir itu hanya hal yang mudah untuk dipecahkan. Tapi terima kasih atas bantuannya!
igorsantos07
0

Instal firewall dan, setidaknya untuk sementara, buat itu memblokir semua koneksi keluar. Ini harus memberi tahu Anda ketika ada sesuatu yang mencoba membuat koneksi pada titik mana Anda harus memiliki pelakunya :-)

di sini adalah salah satu dari banyak artikel online yang memberi Anda info tentang cara memasang firewall di ubuntu:
http://linux.com/news/enterprise/systems-management/8256-installing-a-firewall-on-ubuntu

Joel Martinez
sumber
Saya pikir saya sudah memiliki UFW di Ubuntu saya .. Pokoknya saya pikir ini akan sedikit kesulitan untuk menyelesaikan dengan pendekatan ini .. Masalahnya tidak terjadi sepanjang waktu, itu, intermiten tetapi sedikit sering. Tetapi jika aplikasi info internet lainnya gagal, saya akan mencoba firewall! Terima kasih!
igorsantos07