一、iftop

1、iftop简介

iftop命令可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。

在线安装:

yum install iftop

2、iftop命令

iftop -h | [-nNpblP] [-u unit] [-i interface] [-f filter code] [-F net/mask] [-G net6/mask6]

-h:查看帮助信息

-i:指定监控网卡

-b:不显示流量柱状图
-B:以字节为单位显示流量(默认bits)

-n:不解析主机名称,直接都显示IP
-N:不解析端口服务,直接显示端口号

-F:显示特定网段的进出流量
-m limit:设置带宽上限,可使用K、M、G作为后缀

iftop -b -n -N -F 192.168.0.0/24

TX:发送流量
RX:接收流量
TOTAL:总流量
cum:累积总流量
peak:流量峰值
rates:分别表示最近2s、10s、40s的平均流量

3、iftop交互命令

按h切换是否显示帮助

按n切换显示本机IP或主机名

按s切换是否显示本机的host信息

按d切换是否显示远端目标主机的host信息

按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量

按N切换显示端口号或端口服务名称

按S切换是否显示本机的端口信息

按D切换是否显示远端目标主机的端口信息

按p切换是否显示端口信息

按P切换暂停/继续显示

按b切换是否显示平均流量图形条

按B切换计算2秒或10秒或40秒内的平均流量

按T切换是否显示每个连接的总流量

按l打开屏幕过滤功能,输入要过滤的字符,

按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化

按j或按k可以向上或向下滚动屏幕显示的连接记录

按1或2或3可以根据右侧显示的三列流量数据进行排序

按<根据左边的本机名或IP排序;按>根据远端目标主机的主机名或IP排序

按o切换是否固定只显示当前的连接

按f可以编辑过滤代码

按!可以使用shell命令

按q退出监控

二、netstat

1、netstat简介

netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

2、netstat命令

netstat [-vWeenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help}netstat [-vWnNcaeol] [<Socket> ...]netstat { [-vWeenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay]

-a,--all:显示所有连线中的Socket。

-A <网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。

-c,--continuous:持续列出网络状态。

-C,--cache:显示路由器配置的快取信息。

-e,--extend:显示网络其他相关信息。

-F,--fib:显示FIB。

-g,--groups:显示多重广播功能群组组员名单。

-h,--help:在线帮助。

-i,--interfaces:显示网卡列表

-l,--listening:显示监控中的服务器的Socket。

-M或--masquerade 显示伪装的网络连线。

-n或--numeric 直接使用IP地址,而不通过域名服务器。

-N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。

-o或--timers 显示计时器。

-p或--programs 显示正在使用Socket的程序识别码和程序名称。

-r,--route:显示Routing Table。

-s,--statistics:显示网络工作信息统计表。

-t,--tcp:显示TCP传输协议的连线状况。

-u,--udp:显示UDP传输协议的连线状况。

-v,--verbose:查看不支持的地址族。

-V,--version:显示版本信息。

-w,--raw:显示RAW传输协议的连线状况。

-x,--unix:此参数的效果和指定"-A unix"参数相同。

--ip,--inet:此参数的效果和指定"-A inet"参数相同。

3、netstat常用命令

netstat -a

列出所有端口

netstat -at

列出所有TCP端口

netstat -au

列出所有UDP端口

netstat -l

只显示监听端口

netstat -lt

只列出所有监听TCP端口

netstat -lu

只列出所有监听UDP端口

netstat -lx

只列出所有监听UNIX端口

netstat -s

显示所有端口的统计信息

netstat -st

显示TCP端口的统计信息

netstat -su

显示UDP端口的统计信息

netstat -pt

输出PID和进程名称

netstat -r

显示核心路由信息

netstat -ap | grep ssh

查找程序运行的端口

netstat -an | grep ':80'

查找运行在指定端口的进程

netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr

查看连接某服务端口最多的的IP地址

netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'

TCP各种状态列表

netstat -anpo | grep "php-cgi" | wc -l

查看phpcgi进程数,如果接近预设值,说明不够用,需要增加

netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20

查看连接某服务端口最多的的IP地址

netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn

SYN_SENT:客户端发送一个SYN以请求建立一个连接后状态置为SYN_SENT。                                                                                                      SYN_RECV:服务端发出ACK确认客户端的SYN,同时自己向客户端发送一个SYN,状态置为SYN_RECV。

ESTABLISHED:代表一个打开的连接,双方可以进行或已经在数据交互。

FIN_WAIT1:主动关闭端应用程序调用close,发出FIN请求主动关闭连接,进入FIN_WAIT1状态。

CLOSE_WAIT:被动关闭端TCP接到FIN后,就发出ACK以回应FIN请求,进入CLOSE_WAIT状态。

FIN_WAIT2:主动关闭端接到ACK后,就进入FIN-WAIT-2状态。LAST_ACK:被动关闭端一段时间后,接收到文件结束符的应用程序将调用CLOSE关闭连接,发送一个FIN,等待收到对方ACK后状态为LAST-ACK。

TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。

CLOSING:等待远程TCP对连接中断的确认

CLOSED:被动关闭端在接受到ACK包后,进入CLOSED状态,连接结束。

UNKNOWN:未知的Socket状态。

三、tcpdump

1、tcpdump简介

tcpdump是用于抓取和分析经过系统的流量数据包的命令行工具,通常被用作网络故障分析工具以及安全工具。

2、tcpdump命令

tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ] [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ] [ -Q|-P in|out|inout ] [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ] [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ][ -Z user ] [ expression ]

-a:将网络和广播地址转换成名称。

-c count:抓取数据包数目

-e:显示连接层级的文件头

-f:用数字显示网络地址。

-F 表达文件:指定内含表达方式的文件。

-i interface:指定抓取数据包的网卡设备

-l:使用标准输出列的缓冲区。

-n:不把主机的网络地址转换成名字。

-N:不列出域名。

-O:不将数据包编码最佳化

-q:快速输出模式,仅列出少数传输协议信息

-r数据包文件:从指定文件读取数据包数据。

-s 数据包大小:设置每个数据包的大小。

-S:用绝对而非相对数值列出TCP关联数。

-t:不显示时间戳

-tt:显示未经格式化的时间戳

-T 数据包类型:强制将表达方式所指定的数据包转译成设置的数据包类型。

-v:详细显示指令执行过程。

-vv:更详细显示指令执行过程。

-x:用十六进制字码列出数据包资料。

-w数据包文件: 把数据包数据写入指定的文件。

tcpdump  -enfN -r test.captcpdump -r test.cap

3、tcpdump常用命令

tcpdump -i wlp3s0 tcp port 80

抓取wlp3s0网卡的TCP协议80端口的数据包

tcpdump -i wlp3s0 dst host 192.168.0.104

抓取wlp3s0网卡的目的主机为192.168.0.104的数据包

Linux性能优化(七)——网络流量监控工具相关推荐

  1. Linux性能优化之网络(五)

    文章目录 确定优化目标 网络性能工具 网络性能优化 应用程序 套接字 传输层 网络层 链路层 小结 确定优化目标 网络性能优化的目标是什么?换句话说,观察到的网络性能指标,要达到多少才合适呢? 实际上 ...

  2. Linux 网络流量监控工具

    Linux 网络流量监控 Linux 网络流量监控是捕获和分析企业的 Linux 网络流量的过程. 为什么要监控 Linux 网络流量 深入了解网络流量对于测量和管理带宽使用情况非常重要.分析 Lin ...

  3. 开发人员如何解决Linux性能优化之痛?

    这些问题或者场景,你是否曾经遇到过? •  流量高峰期,服务器CPU使用率过高报警,你登录Linux上去top完之后,却不知道怎么进一步定位,到底是系统CPU资源太少,还是程序并发部分写的有问题? • ...

  4. 服务器性能优化之网络性能优化

    hi ,大家好,今天分享一篇后台服务器性能优化之网络性能优化,希望大家对Linux网络有更深的理解. 曾几何时,一切都是那么简单.网卡很慢,只有一个队列.当数据包到达时,网卡通过DMA复制数据包并发送 ...

  5. Linux 性能优化全景指南

    大家好 我是坤哥 之前一些朋友觉得奇怪,说你主要做 Java 的,公号怎么时不时地也推送一些 Linux 文章,其实不管你是哪个 xx 语言的工程师,要想进阶,Linux 性能优化是必备知识,举个例子 ...

  6. 程序员的痛点:我竟然还不懂Linux性能优化

    阅读好文章,请随手 点击上面,关注我们,免费订阅 这些问题或者场景,你是否曾经遇到过? 流量高峰期,服务器CPU使用率过高报警,你登录Linux上去top完之后,却不知道怎么进一步定位,到底是系统CP ...

  7. Linux性能优化:性能优化工具

    1.Linux网络协议栈 1.1 首先是网络接口层和网络层,它们主要负责网络包的封装.寻址.路由,以及发送和接收.每秒可处理的网络包数 PPS,就是它们最重要的性能指标(特别是在小包的情况下).你可以 ...

  8. 【Linux 性能优化系列】Linux 性能优化 -- CPU 性能篇(三) Linux 软中断

    [Linux 性能优化系列]Linux 性能优化 -- CPU 性能篇(三) Linux 软中断 [1]相关概念 [1.1]中断 中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力:为了减少 ...

  9. Linux 性能优化的全景指南,都在这一篇里了,建议收藏~

    Linux 性能优化 性能优化 性能指标 高并发和响应快对应着性能优化的两个核心指标:吞吐和延时 应用负载角度:直接影响了产品终端的用户体验 系统资源角度:资源使用率.饱和度等 性能问题的本质就是系统 ...

  10. Linux 性能优化工具包 sysstat 以及 sysstat 服务(sar 命令解析)

    1. sysstat service 1.1. /etc/cron.d/sysstat Linux 下的性能分析,包括CPU使用情况,内存使用情况,IO状态等等与系统相关的状态,少不了要使用 syss ...

最新文章

  1. CVPR发布禁令:盲评的论文不能在社交平台上讨论!LeCun:这政策简直疯了
  2. Contest Hunter CH6201 走廊泼水节 最小生成树 Kruskal
  3. String类型的字符长度(码点/代码单元的区别)
  4. 指标实现层级_企业如何构建核心指标系统,实现业务运营效率提升90%?
  5. CTF【解密】字符串flag被加密成已知新字符串,请解密出flag,可以使用Python解码出WriteUp
  6. abap 帮助文档 中文_谷歌的软件工程 读书笔记(十)文档
  7. 算法4中数学模型练习题分析
  8. matlab车牌识别源代码资源,车牌识别系统MATLAB源代码完整
  9. android开发ViewPager按比例显示图片(显示下一张图片的一部分)
  10. Springboot 整合 Current-Limiting 实现接口限流
  11. (C)输入一个字符串(串长不超过60),删除字符串中所有的空格符
  12. mame模拟器添加按键实现
  13. mac上的PCB设计软件现状
  14. ERP系统的数据安全
  15. js设置css色相旋转_色相旋转颜色方案是否保留了对色盲友好的能力?
  16. 四大杀毒软件网友趣评
  17. Maven的基本原理和Maven2的新特性
  18. 再到关键阻力位,欧元何去何从
  19. 电脑的常用快捷键常用快捷键
  20. hm模型下载及编码器分析

热门文章

  1. 微信Android热补丁方案Tinker
  2. 乐符识别matlab,基于DPP的自动音符切分识别研究
  3. 论文翻译(二) CRNN 基于图像序列的识别的识别的端到端可训练神经网络及其在场景文字识别的应用
  4. C#实现百度翻译API调用
  5. 手机显示服务器被重置连接断开,手机服务器链接被重置
  6. git分支拉取develop分支最新代码
  7. mysql 升序和降序
  8. c语言四个人中有一个人是小偷,、甲,乙,丙,丁四个人中有一个人是小偷,请根据四个人的谈话判断谁是小偷?已知四个人中有一个人说假话...
  9. eclipse 导入项目后,在工程图标上出现红叉,但是工程中的文件并没有提示错误的解决方法
  10. Stata+PSM:倾向得分匹配分析简介