转载自: https://www.cnblogs.com/chenqionghe/p/10680075.html

目录

  • 一、iftop是什么
  • 二、界面说明
  • 三、常用参数
  • 四、进入界面后的操作
  • 五、使用示例
  • 六、实战-找出最费流量的ip和端口号
    • 1.进入界面
    • 2.按下L显示流量刻度
    • 3.按下T显示总量
    • 4.按下3,根据最近40s统计排序
    • 5.按下t,发送和接受合成一行
    • 6.多按几次B,查看最近2s、10s、40s的统计
    • 7.筛选指定IP 172.17.1.158
    • 8.找到这个ip哪个端口流量用得最多

      一、iftop是什么

      iftop是类似于top的实时流量监控工具。
      作用:监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等
      官网:http://www.ex-parrot.com/~pdw/iftop/

      二、界面说明

      1. =>代表发送数据,<= 代表接收数据
      2. TX:发送流量
      3. RX:接收流量
      4. TOTAL:总流量
      5. Cumm:运行iftop到目前时间的总流量
      6. peak:流量峰值
      7. rates:分别表示过去 2s 10s 40s 的平均流量

      三、常用参数

      1. -i 指定需要检测的网卡, 如果有多个网络接口,则需要注意网络接口的选择,如:# iftop -i eth1
      2. -B 将输出以byte为单位显示网卡流量,默认是bit
      3. -n 将输出的主机信息都通过IP显示,不进行DNS解析
      4. -N 只显示连接端口号,不显示端口对应的服务名称
      5. -F 显示特定网段的网卡进出流量 iftop -F 192.168.85.0/24
      6. -h 帮助,显示参数信息
      7. -p 以混杂模式运行iftop,此时iftop可以用作网络嗅探器 ;
      8. -P 显示主机以及端口信息
      9. -m 设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示 如:# iftop -m 100M
      10. -f 使用筛选码选择数据包来计数 iftop -f filter code
      11. -b 不显示流量图形条
      12. -c 指定可选的配置文件 iftop -c config file
      13. -t 使用不带ncurses的文本界面,
      14. 以下两个是只和-t一起用的:
      15. -s num num秒后打印一次文本输出然后退出,-t -s 60组合使用,表示取60秒网络流量输出到终端
      16. -L num 打印的行数
      17. -f 参数支持tcpdump的语法,可以使用各种过滤条件。

      四、进入界面后的操作

      一般参数

      1. P 切换暂停/继续显示
      2. h 在交互界面/状态输出界面之间切换
      3. b 切换是否显示平均流量图形条
      4. B 切换显示2s 10s40s内的平均流量
      5. T 切换是否显示每个连接的总流量
      6. j/k 向上或向下滚动屏幕显示当前的连接信息
      7. f 编辑筛选码
      8. l 打开iftop输出过滤功能 ,如输入要显示的IP按回车键后屏幕就只显示与这个IP相关的流量信息
      9. L 切换显示流量刻度范围,刻度不同,流量图形条也会不同
      10. q 退出iftop

      主机参数

      1. n 使iftop输出结果以IP或主机名的方式显示
      2. s 切换是否显示源主机信息
      3. d 切换是否显示远端目标主机信息
      4. t 切换输出模式,一行或多行

      端口显示参数

      1. N 切换显示端口号/端口号对应服务名称
      2. S 切换是否显示本地源主机的端口信息
      3. D 切换是否显示远端目标主机的端口信息
      4. p 切换是否显示端口信息

      输出排序参数

      1. 1/2/3 通过第一列/第二列/第三列排序
      2. < 根据左边的本地主机名或IP地址进行排序
      3. > 根据远端目标主机的主机名或IP地址进行排序
      4. o 切换是否固定显示当前的连接

      五、使用示例

      1.显示网卡eth0的信息,主机通过ip显示

      1. iftop -i eth0 -n

      2.显示端口号(添加-P参数,进入界面可通过p参数关闭)

      1. iftop -i eth0 -n -P

      3.显示将输出以byte为单位显示网卡流量,默认是bit

      1. iftop -i eth0 -n -B

      4.显示流量进度条

      1. iftop -i eth0 -n(进入界面后按下L)

      5.显示每个连接的总流量

      1. iftop -i eth0 -n(进入界面后按下T)

      6.显示指定ip 172.17.1.158的流量

      1. iftop -i eth0 -n(进入界面后按下l,输入172.17.1.158回车)

      六、实战-找出最费流量的ip和端口号

      网上找了一圈,全是粘贴复制的iftop命令使用,没说到点上
      接下,请欣赏真正的表演

      1.进入界面

      1. iftop -i eth0 -nNB -m 10M
      -i 指定网卡,
      -n 代表主机通过ip显示不走DNS
      -N 只显示连接端口号,不显示端口对应的服务名称(不加会显示如ssh这样的服务名称,不便于排查)
      -B 指定显示单位为Kb,默认是bit,太小!
      -m 设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示
      进入后界面如下
      从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口) - 图1

      2.按下L显示流量刻度

      L参数直接显示进度条,方便人类阅读,别说你能直接通过数字感知,小心被砍死
      从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口) - 图2

      3.按下T显示总量

      总得有个总数统计,看着方便!
      从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口) - 图3

      4.按下3,根据最近40s统计排序

      用平均值来统计最权威点
      从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口) - 图4

      5.按下t,发送和接受合成一行

      显示两行没什么意思,一行就够了!
      从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口) - 图5

      6.多按几次B,查看最近2s、10s、40s的统计

      从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口) - 图6
      没错,图中的172.17.1.158就是我们找到的流量用得最多的IP

      7.筛选指定IP 172.17.1.158

      按下l, 输入172.17.1.158,出现如下
      从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口) - 图7
      回车,生效
      从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口) - 图8
      这下就只看到这个ip的流量监控了

      8.找到这个ip哪个端口流量用得最多

      按下p,根据端口号显示
      从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口) - 图9
      到这里,我们就学会了如何找出流量用得最多的ip和端口号,这么好干货你不high起来对不起哥这么用心的截图!

查看流量最多的是那个服务

  1. netstat -tnp4 |grep <port> 即可查看对应的进程