Linux 资源使用情况查看
Linux 系统中查看资源占用状况、观察系统性能指标的 10 个指令: top ps free df du sar vmstat iostat netstat ifconfig tcpdump1. top 命令:
top 查看系统进程和资源使用情况,格式:top [-] [d delay] [q] [c] [S] [s] [i] [n]
主要参数:
- d:指定更新的间隔,以秒计算。
- q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
- c:显示进程完整的路径与名称。
- S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
- s:安全模式。
- i:不显示任何闲置(Idle)或无用(Zombie)的行程。
- n:显示更新的次数,完成后将会退出top。
- PID(Process ID):进程标示号。
- USER:进程所有者的用户名。
- PR:进程的优先级别。
- NI:进程的优先级别数值。
- VIRT:进程占用的虚拟内存值。
- RES:进程占用的物理内存值。
- SHR:进程使用的共享内存值。
- S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
- %CPU:该进程占用的CPU使用率。
- %MEM:该进程占用的物理内存和总内存的百分比。
- TIME+:该进程启动后占用的总的CPU时间。
- Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
- <空格>:立刻刷新。
- P:根据CPU使用大小进行排序。
- T:根据时间、累计时间排序。
- q:退出top命令。
- m:切换显示内存信息。
- t:切换显示进程和CPU状态信息。
- c:切换显示命令名称和完整命令行。
- M:根据使用内存大小进行排序。
- W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
2. ps 命令:查看当前进程
ps 命令可以显示系统中所有进程的详细信息,包括进程名、进程 ID、运行时间和 CPU 占用率等。常用的参数包括 -aux 和 grep,后者可用于查找某个进程以及它的进程 ID。该命令语法格式如下:
ps [options]
options 选项说明:
- -e 显示所有进程
- -f 全格式
- -h 不显示标题
- -l 长格式
- -w 宽输出
- -? 命令帮助,显示更多参数使用说明
- a 显示终端上的所有进程,包括其他用户的进程
- r 只显示正在运行的进程
- u 以用户为主的格式来显示程序状况
- x 显示所有程序,不以终端机来区分
ps -ef
或:
ps aux
回顶部3. free 命令:查看内存使用情况
运行 free -m 命令可以查看系统内存的使用情况,包括总内存、已用内存、剩余内存和缓存的内存等。使用-s参数可以设置刷新时间间隔,以便实时监控内存使用情况。格式:free [-b|-k|-m|-g] [-o] [-s delay] [-t] [-V]
主要参数:
- -b -k -m -g:分别以Byte、KB、MB、GB为单位显示内存使用情况。
- -s delay:显示每隔多少秒数来显示一次内存使用情况。
- -t:显示内存总和列。
- -o:不显示缓冲区调节列
- -V:显示版本信息
4. df、du 命令:查看磁盘空闲、使用空间
df
df 命令显示硬盘被占用了多少空间,目前还剩下多少空间等信息,它也可以显示所有文件系统对i节点和磁盘块的使用情况。df命令格式:
df [options]
options 选项说明:
- -a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统
- -k:以k字节为单位显示
- -i:显示i节点信息,而不是磁盘块
- -t:显示各指定类型的文件系统的磁盘空间使用情
- -x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)
- -T:显示文件系统类型
du
du 的英文原义为“disk usage”,含义为显示磁盘空间的使用情况,统计目录(或文件)所占磁盘空间的大小。该命令的功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出指定目录,则对当前目录进行统计。df命令格式:
du [path] [options]
options 选项说明:
- path:指定目录,若没有给出指定目录,则默认为当前目录
- -s:对每个Names参数只给出占用的数据块总数
- -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数
- -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)
- -k:以1024字节为单位列出磁盘空间使用情况
- -c:最后再加上一个总计(系统默认设置
- -l:计算所有的文件大小,对硬链接文件,则计算多次
df 和 du 输出结果差别
文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为 Meta Data。du 命令是用户级的程序,它不考虑 Meta Data。df 命令则查看文件系统的磁盘分配图并考虑 Meta Data。因此正常情况下,df 计算的 USED 空间会比 du 计算的结果要稍大。
异常情况下,df 计算的 user 空间会比 du 大很多,原因在于 du 是以文件名、目录名为依据计算空间使用的,而 df 是以硬盘块使用情况来计算空间使用的。
回顶部
5. sar 命令:查看系统资源使用情况的历史记录
sar 命令可以全面地获取系统的 CPU、运行队列、磁盘读写(I/O)、分区(交换区)、内存、CPU 中断和网络等性能数据。命令格式:sar [options] [-A] [-o file] [t n]
在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,n为采样次数,是可选的,默认值是每小时1次。-o file 表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项。options 常用选项说明:
- -A:所有报告的总和
- -u:CPU利用率
- -v:进程、I节点、文件和锁表状态
- -d:硬盘使用报告
- -r:没有使用的内存页面和硬盘块
- -g:串口I/O的情况
- -b:缓冲区使用情况
- -a:文件读写情况
- -c:系统调用情况
- -R:进程的活动情况
- -y:终端设备活动情况
- -w:系统交换活动
6. vmstat 命令:查看系统资源使用情况
vmstat(VirtualMeomoryStatistics,虚拟内存统计)可对操作系统的虚拟内存、进程、CPU 等的整体情况进行监视。6.1 命令
命令格式:vmstat [options] [delay [count]]
options 常用选项说明:
- -a:显示活跃和非活跃内存
- -f:显示从系统启动至今的 fork 数量
- -m:显示 slabinfo
- -n:只在开始时显示一次各字段名称
- -s:显示内存相关统计信息及多种系统活动数量
- -d:显示磁盘相关统计信息
- -p:显示指定磁盘分区统计信息
- -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表 1000、1024、1000000、1048576 字节(byte)。默认单位为 K(1024 bytes)
- -V:显示 vmstat 版本信息
- delay:刷新时间间隔。如果不指定,只显示一条结果
- count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷
类别 | 项目 | 含义 | 说明 |
Procs(进程) | r | 等待执行的任务数 | 展示了正在执行和等待 cpu 资源的任务个数。当这个值超过了 cpu 个数,就会出现 cpu 瓶颈。 |
B | 等待 IO 的进程数量 | ||
Memory(内存) | swpd | 正在使用虚拟的内存大小,单位k | swpd 交换区实为硬盘内所开 |
free | 空闲内存大小 | ||
buff | 已用的 buff 大小,对块设备的读写进行缓冲 | ||
cache | 已用的 cache 大小,文件系统的 cache | ||
inact | 非活跃内存大小,即被标明可回收的内存,区别于 free 和 active | 具体含义见:概念补充(当使用 -a 选项时显示) | |
active | 活跃的内存大小 | 具体含义见:概念补充(当使用 -a 选项时显示) | |
Swap | si | 每秒从交换区写入内存的大小(单位:kb/s) | |
so | 每秒从内存写到交换区的大小 | ||
IO | bi | 每秒读取的块数(读磁盘) | 现在的 Linux 版本块的大小为 1024 bytes |
bo | 每秒写入的块数(写磁盘) | ||
system | in | 每秒中断数,包括时钟中断 | 这两个值越大,会看到由内核消耗的 cpu 时间会越多 |
cs | 每秒上下文切换数 | ||
CPU(以百分比表示) | Us | 用户进程执行消耗 cpu 时间(user time) | us 的值比较高时,说明用户进程消耗的 cpu 时间多,但是如果长期超过 50% 的使用,那么我们就该考虑优化程序算法或其他措施了 |
Sy | 系统进程消耗 cpu 时间(system time) | sys 的值过高时,说明系统内核消耗的 cpu 资源多,这个不是良性的表现,我们应该检查原因。 | |
Id | 空闲时间(包括 IO 等待时间) | ||
wa | 等待 IO 时间 | Wa过高时,说明 io 等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。 |
6.2 判断方法
快速判断:
内存: 如果 pi,po 长期不等于 0,表示内存不足;
磁盘 IO: 如果 disk 经常不等于 0,且在 b 中的队列大于 3,表示 io 性能不好;
CPU: 如果 r 经常大于 4,且 id 经常少于 40,表示 cpu 的负荷很重。
内存不足的表现:
1.开始使用 swpd,swpd 不为0;
2.si so 大于 0 开始从硬盘中读取;
磁盘 IO 瓶颈表现:
1.读写 IO,bi bo 增多超过 2000;
2.cpu 等待时间用于 IO 等待,wa 增加 超过 20;
3.sy 系统调用时间长,IO 操作频繁会导致增加 >30%;
4.wa io 等待时间长:
iowait% <20% 良好
iowait% <35% 一般
iowait% >50%
5.进一步使用 iostat 观察
CPU 理想的 load average:
理想的 load average:核数 * CPU 数 * 0.7,超过这个值就说明已经是 CPU 瓶颈了
CPU 个数:grep 'physical id' /proc/cpuinfo | sort -u
核数:grep 'core id' /proc/cpuinfo | sort -u | wc -l
回顶部
7. iostat 命令:查看磁盘使用情况
iostat 全称为 I/O statistics,主要用于输出 磁盘IO 和 CPU 的统计信息。
命令格式:
iostat [选项] [<时间间隔>[<次数>]]
选项说明:
- -c:显示CPU使用情况
- -d:显示磁盘I/O使用情况
- -k:以KB为单位显示磁盘I/O使用情况
- -m:以MB为单位磁盘I/O使用情
- -N:显示网络I/O使用情况
- -t:显示时间戳
- -x:显示详细信息
- -p:显示磁盘和分区的情况
时间间隔和次数是可选参数,用于指定iostat命令的执行间隔和执行次数。
示例
1. iostat -c
输出 avg-cpu 描述的是 系统cpu使用情况:
iostat [选项] [<时间间隔>[<次数>]]
字段 | 说明 |
%user | CPU 处在用户模式下的时间百分比 |
%nice | CPU 处在带 NICE 值的用户模式下的时间百分比 |
%system | CPU 处在系统模式下的时间百分比 |
%iowait | CPU 等待输入输出完成时间的百分比 |
%steal | 管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比 |
%idle | CPU 空闲时间百分比 |
%iowait 的值过高,表示硬盘存在 I/O 瓶颈;
%idle 值高,表示 CPU 较空闲;
%idle 值高但系统响应慢时,可能是 CPU 等待分配内存,应加大内存容量;
%idle 值 持续低于 10%,表明 CPU 处理能力相对较低,系统中最需要解决的资源是 CPU。
2. iostat -d
输出 Device 项,描述的是 系统磁盘 使用情况:字段 | 说明 |
tps | 该设备每秒的传输次数,“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”,“一次传输”请求的大小是未知的 |
kB_read/s | 每秒从设备(drive expressed)读取的数据量 |
kB_wrtn/s | 每秒向设备(drive expressed)写入的数据量 |
kB_read | 读取的总数据量 |
kB_wrtn | 写入的总数据量 |
3. iostat -d -x -k
输出 Device 项读写详细信息:字段 | 说明 |
rrqm/s | 每秒合并读操作的次数,如果两个读操作读取相邻的数据块时,可以被合并成一个,以提高效率。合并的操作通常是I/O scheduler(也叫elevator)负责的 |
wrqm/s | 每秒合并写操作的次数 |
r/s | 每秒读操作的次数 |
w/s | 每秒写操作的次数 |
rkB/s | 每秒读取的字节数(KB) |
wkB/s | 每秒写入的字节数(KB) |
avgrq-sz | 每个IO的平均扇区数,即所有请求的平均大小,以扇区(512字节)为单位 |
avgqu-sz | 平均未完成的IO请求数量,即平均意义上的请求队列长度 |
await | 平均每个IO所需要的时间,包括在队列等待的时间,也包括磁盘控制器处理本次请求的有效时间 |
r_await | 每个读操作平均所需要的时间,不仅包括硬盘设备读操作的时间,也包括在内核队列中的时间 |
w_await | 每个写操平均所需要的时间,不仅包括硬盘设备写操作的时间,也包括在队列中等待的时 |
svctm | 表面看是每个IO请求的服务时间,不包括等待时间,但是实际上,这个指标已经废弃。实际上,iostat工具没有任何一输出项表示的是硬盘设备平均每次IO的时间 |
%util | 表示该设备有I/O(即非空闲)的时间比率,不考虑I/O有多少,只考虑有没有 |
%util 表示该设备有i/o非空闲的时间比率,不考虑i/o有多少,由于硬盘设备有并行处理多个i/o请求的能力,所以%util即使达到100%也不意味着设备饱和了;
svctm 一般要小于await(因为同时等待的请求的等待时间被重复计算了),svctm的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致svctm的增加;
await 的大小一般取决于服务时间(svctm)以及I/O队列的长度和I/O请求的发出模式:
svctm 比较接近 await,说明I/O几乎没有等待时间;
await 远大于 svctm,说明I/O队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,md调整内核elevator算法,优化应用,或者升级CPU。
回顶部
8. netstat 命令:查看网络接口使用情况和连接信息
netstat 是监控 TCP/IP 网络的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。命令格式:
netstat [选项]
选项说明:
- -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或--statistice:显示网络工作信息统计表;
- -t或--tcp:显示TCP传输协议的连线状况;
- -u或--udp:显示UDP传输协议的连线状况;
- -v或--verbose:显示指令执行过程;
- -V或--version:显示版本信息;
- -w或--raw:显示RAW传输协议的连线状况;
- -x或--unix:此参数的效果和指定"-A unix"参数相同;
- --ip或--inet:此参数的效果和指定"-A inet"参数相同。
netstat -a # 列出所有端口
netstat -at # 列出所有TCP端口
netstat -au # 列出所有UDP端口
netstat -ax # 列出所有unix端口
netstat -atnlp # 直接使用ip地址列出所有处理监听状态的TCP端口,且加上程序名
netstat -s # 显示所有端口的统计信息
netstat -st # 显示所有TCP的统计信息
netstat -su # 显示所有UDP的统计信息
netstat -r # 显示所有端口的统计信息
netstat -rn # 显示所有TCP的统计信息
回顶部
9. ifconfig 命令:查看网络接口的IP地址和其他信息
ifconfig 命令用于配置和显示 Linux 内核中网络接口的网络参数。ifconfig 命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
命令格式:
ifconfig [-a] [-v] [-s] <interface>[[<AF>] <address>]
[add <address>[/<prefixlen>]]
[del <address>[/<prefixlen>]]
[[-]broadcast [<address>]] [[-]pointopoint [<address>]]
[netmask <address>] [dstaddr <address>] [tunnel <address>]
[outfill <NN>] [keepalive <NN>]
[hw <HW> <address>] [metric <NN>] [mtu <NN>]
[[-]trailers] [[-]arp] [[-]allmulti]
[multicast] [[-]promisc]
[mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]
[txqueuelen <NN>]
[[-]dynamic]
[up|down]
参数说明:
参数 | 说明 |
-a | 显示全部接口信息。 |
-s | 显示摘要信息(类似于 netstat -i)。 |
<interface> address | 为网卡设置IPv4地址。 |
<interface> add <address> | 给指定网卡配置IPv6地址。 |
<interface> del <address> | 删除指定网卡的IPv6地址。 |
<interface> netmask <address> | 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。 |
<interface> dstaddr <address> | 设定一个远端地址,建立点对点通信。 |
<interface> tunnel <address> | 建立隧道。 |
<interface> hw <address> | 设置硬件地址。 |
<interface> mtu <NN> | 设置最大传输单元。 |
<interface> [-]arp | 设置指定网卡是否支持ARP协议。-表示不支持arp。 |
<interface> multicast | 为网卡设置组播标志。 |
<interface> [-]promisc | 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包。-表示关闭混杂模式。 |
<interface> txqueuelen <NN> | 为网卡设置传输列队的长度。 |
<interface> up | 启动指定网卡。 |
<interface> down | 关闭指定网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。 |
ifconfig #显示激活的网卡信息
ifconfig -a #显示所有的网卡信息
ifconfig -s #显示简要的网卡信息
ifconfig eth0 down #闭网卡
ifconfig eth0 up #启动网卡
ifconfig eth0 192.168.1.100 #配置ip地址
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 #配置ip地址和子网掩码
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 #配置ip地址、子网掩码和广播地址
#单网卡添加多个IP地址
ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0 up
ifconfig eth0:1 192.168.2.100 netmask 255.255.255.0 up
ifconfig eth0 del 192.168.1.100 # 删除IP地址
ifconfig eth0 arp #启用arp
ifconfig eth0 -arp #禁用arp
ifconfig eth0 mtu 1500 #设置最大传输单元
#配置和删除IPv6地址
ifconfig eth0 add 3ffe:3240:800:1005::2/64
ifconfig eth0 del 3ffe:3240:800:1005::2/64
回顶部
10. tcpdump 命令:抓包分析网络数据
tcpdump 是 Linux 系统下的一款抓包命令集,工作原理是基于网卡抓取流动在网卡上的数据包。在 Linux 系统中由于 tcpdump 命令的简单和强大,我们一般直接使用 tcpdump 命令来抓取数据包。保存之后,拖下来在 wireshark 中分析。 命令格式:tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]
参数说明:
- -A 以ASCII格式打印出所有分组,并将链路层的头最小化
- -c 在收到指定的数量的分组后,tcpdump 就会停止
- -C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数 file_size 中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size 的单位是兆字节(是1,000,000字节,而不是1,048,576字节)
- -d 将匹配信息包的代码以人们能够理解的汇编格式给出
- -dd 将匹配信息包的代码以 c 语言程序段的格式给出
- -ddd 将匹配信息包的代码以十进制的形式给出
- -D 打印出系统中所有可以用 tcpdump 截包的网络接口
- -e 在输出行打印出数据链路层的头部信息
- -E 用 spi@ipaddr algo:secret 解密那些以 addr 作为地址,并且包含了安全参数索引值 spi 的 IPsec ESP 分组
- -f 将外部的Internet地址以数字的形式打印出来
- -F 从指定的文件中读取表达式,忽略命令行中给出的表达式
- -i 指定监听的网络接口
- -l 使标准输出变为缓冲行形式,可以把数据导出到文件
- -L 列出网络接口的已知数据链路
- -m 从文件module中导入SMI MIB模块定义。该参数可以被使用多次,以导入多个MIB模块
- -M 如果tcp报文中存在TCP-MD5选项,则需要用secret作为共享的验证码用于验证TCP-MD5选选项摘要(详情可参考RFC 2385)
- -b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的
- -n 不把网络地址转换成名字
- -nn 不进行端口名称的转换
- -N 不输出主机名中的域名部分。例如,‘nic.ddn.mil‘只输出’nic‘
- -t 在输出的每一行不打印时间戳
- -O 不运行分组分组匹配(packet-matching)代码优化程序
- -P 不将网络接口设置成混杂模式
- -q 快速输出。只输出较少的协议信息
- -r 从指定的文件中读取包(这些包一般通过-w选项产生)
- -S 将tcp的序列号以绝对值形式输出,而不是相对值
- -s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节
- -T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc远程过程调用)和snmp(简单网络管理协议;)
- -t 不在每一行中输出时间戳
- -tt 在每一行中输出非格式化的时间戳
- -ttt 输出本行和前面一行之间的时间差
- -tttt 在每一行中输出由date处理的默认格式的时间戳
- -u 输出未解码的NFS句柄
- -v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息
- -vv 输出详细的报文信息
- -w 直接将分组写入文件中,而不是不分析并打印出来
tcpdump #抓取通过第一个网卡的数据包,并将信息打印在屏幕上实时显示出来
tcpdump -i eth0 #抓取通过eth0网卡的数据包,信息实时打印在屏幕上。-i表示指定哪个网卡接口,后面跟网卡名字,比如eth0或者lo
tcpdump -i eth0 host 192.39.45.66 #抓取该网卡和该IP地址会话的数据包,实时打印在屏幕上,host后面跟IP地址或者域名,比如也可以写成host www.baidu.com
tcpdump -i eth0 src host 192.39.45.66 #抓取所有该网卡和该IP之间,收到的数据,src表示服务器收到的数据,如果该参数缺省,默认抓取所有数据
tcpdump -i eth0 dst host 192.39.45.66 #抓取所有该网卡和该IP之间,收到的数据,dst表示服务器发出去的数据,如果该参数缺省,默认抓取所有数据
tcpdump -n -i eth0 port 8080 and host 192.39.45.66 #查看8080端口号的会话数据包,port表示端口号,后面比如跟8080。-n表示不对具体ip地址做域名解析,直接显示会话两边的具体ip地址
tcpdump -c 10 -nn -i eth0 tcp dst port 8080 and host 192.39.45.66 -w /home/huidong/MyTest.pcap #保存在当前文件,pcap格式可被wireshark打开
最后,特别要注意,使用tcpdump命令的时候,建议加上 -c 命令,因为如果不加任何过滤的话,就会无限制的抓取数据包,直到磁盘存满为止,很可怕的,有些时候我们需要触发抓包的时候,可不用 -c,触发完之后停止抓包,就 OK 了。回顶部
11. find 命令:查找体积、时间范围的文件
回顶部