如何跟踪局域网使用情况?(又称“局域网的顶部”)


27

有一个邪恶的应用程序占用了我所有的上传带宽(我是巴西人,只有〜35kbps),打开我的PC的时间有80%。

我想知道是否有任何方法可以跟踪这种用法并发现什么应用程序正在执行此操作。

Answers:


12

nethogs呢?我认为这更加人道。实时列出使用网络的命令/程序以及每个命令/程序的带宽。

使用以下命令在ubuntu / debian系统中安装它:

须藤apt-get install nethogs

运行它以监视您的网络接口,如下所示:

须藤nethogs eth0

替代文字


很有意思!= D比组合iftop + netstat更能解决我的问题。并不是两者都不好,它们都很棒,但不是我需要的。= D
igorsantos09,2009年

这似乎没有批处理模式。
Nicholas DiPiazza

19

iftop是类似于控制台的基于控制台/外壳程序,可以使用pcap库(也由tcpdump和wirehark使用)。它可用于Universe的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)

您可以使用-p PID从lsof中获取有关打开文件的更多信息。

sudo lsof -p 2376

(很多输出被抑制了)


通过该程序,我可以确定IT在哪里吞噬我的连接...而使用netstat可以确定是谁在执行此操作。我需要将这两个答案标记为正确!XD
igorsantos09年

我真的不认为编辑您的答案并添加很多新信息是不公平的……但是我无法考虑任何其他解决方案,所以..再次感谢您=]
igorsantos07

2
@Igoru只是使答案更好,以便人们在搜索与您自己的问题类似的问题时获得更多相关信息。
jtimberman

1
等等...这是Ubuntu系统吗?它看起来像OS X.
机械蜗牛

我从Mac切换到ubuntu系统。
jtimberman 2011年

9

ntop是您的朋友。软件包位于linux repos和macports中。


2
ntop是一个很棒的程序,但是它可能会过分杀伤并且过于复杂。
jtimberman

我认为这不是我想要的那样友好...我认为我需要的信息太多。而且您的答案不完全是...。但是还是谢谢你=]
igorsantos07

5

除了使用iftop标识正在使用带宽的地址和端口之外,您还可以使用netstat来标识进程

须藤netstat -ntp

这将显示所有打开的TCP连接以及每个连接的进程名称/ ID。


因为我不能为您和我都投票“接受” iftop,所以我会接受他-确切地向我展示了某人何时以及如何吃掉我的带宽-并投票支持我,因为netstat我知道我应该杀了谁。谢谢!
igorsantos09年

或者,您可以用于lsof -i tcp:80将搜索集中在一个端口上。此特定版本将列出在TCP端口80上连接的所有进程
。– nagul

2

我认为,iftop的用户界面设计不当。实际上,几乎不需要实时查看IP或主机名。如果需要的话,列出所有当前连接,我将按照jtimberman的说明使用netstat。

就我而言,bmon比iftop更适合。它具有非常简单的用户界面,支持多个界面和“图形”的绘制。这是屏幕截图:

布蒙

如果您不需要bmon提供的所有功能,bwm-ng可能是您的理想工具。它仅显示每个接口当前的占用带宽-不多也不少:

w


2

nload是实时监控带宽的好工具,可使用sudo apt-get install nload轻松安装在Ubuntu或Debian中。

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,也很容易获得:

             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

不要忘记旧版* nix上经典而强大的sar和netstat实用程序!


1

Wireshark还是一个非常好的(多平台)应用程序,用于监视网络流量。这是该网站的描述:

Wireshark是世界上最重要的网络协议分析器,并且是许多行业和教育机构事实上的(并且通常是法律上的)标准。


0

您可以在路由器级别执行此操作,具体取决于您的固件。例如,如果使用DD-WRT,则可以随时间和机器跟踪使用情况。


实际上,我认为仅使用ADSL路由器来解决这个小问题就太过分了,而且太复杂了。我认为这很容易解决。但是,谢谢您的帮助!
igorsantos09年

0

安装防火墙,至少暂时地,使其阻止所有传出连接。当某事尝试建立连接时,它应该通知您,此时您应该让罪魁祸首:-)

这是在线上的许多文章之一,可为您提供有关在ubuntu上安装防火墙的信息:http :
//linux.com/news/enterprise/systems-management/8256-installing-a-firewall-on-ubuntu


我想我已经在Ubuntu中安装了UFW。无论如何,我认为用这种方法解决起来会有些麻烦。这个问题不会一直出现,它是间歇性的,但会经常出现。但是,如果其他网络信息应用程序失败,我将尝试防火墙!谢谢!
igorsantos'09年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.