抓包命令:tcpdump
-D 显示可以抓包的网络接口,每个网络接口会有一个唯一的数字对应; -i 指定抓的网络接口,可以结合-D使用,如未指定,则默认抓通过-D显示的第一个接口包; -A 以ASCII码方式显示包数据内容; -X 以可读方式显示数据包,适合http、memcached asccii等明文传输的协议; -n 不做IP.Port->Name转换,即直接显示IP和端口; -w file 将满足条件的包,保存至指定的文件file中; -r file 从指定的文件file读取包数据; 逻辑操作 port 指定端口; host 指定地址或域名; src 指定源端,可以结合port host使用; dst 指定目的端,可以结合prot host 使用;
示例
tcpdump port 8080 and tcp //抓对应端口是8080的TCP协议包 tcpdump host 192.168.168.143 //抓含192.168.168.143地址的包 tcpdump port 8080 and host 192.168.168.14 3//抓含192.168.168.143地址且端口为8080的包
资源查看命令:netstat
状态类:
-r: 查看路由表信息 -i: 显示网卡收发数据信息 -s: 统计当前网络连接信息,并按协议分别显示
网络监听类:
-l: 显示当前所有监听的网络端口 -a:显示所有网络连接(监听+连接) -t: 显示tcp监听 -u: 显示udp监听
解析类:
-n: 直接以IP、端口、用户显示,不做解析 --numeric-hosts//不解析IP --numeric-ports//不解析端口 --numeric-users//不解析用户名 -p: 显示对应的进程PID -e: 显示用户等扩展信息
与其它命令结合使用,做过滤和统计
1)该命令结合grep命令做对应的过滤 netstat -nlp | grep 3306 //查看有没有开启3306端口 2)与grep与wc命令,统计当前的TCP连接信息 netstat -nlt | wc -l //粗略统计当前tcp监听连接数量 netstat -nt | grep ESTABLISHED | wc -l //粗略统计当前tcp连接处于ESTABLISHED状态的连接数量 netstat -nt | grep TIME_WAIT | wc -l //粗略统计当前tcp连接处于TIME_WAIT状态的连接数量 netstat -nt | grep CLOSE_WAIT | wc -l //粗略统计当前tcp连接处于CLOSE_WAIT状态的连接数量 3) 与awk命令结合统计出详细的连接数量: netstat | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' [nemo@cnode563-vm2 logs]$ netstat | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' TIME_WAIT 150 CLOSE_WAIT 2 FIN_WAIT2 1 ESTABLISHED 4308
网络查看命令:top
汇总字段描述:
类型 字段 描述 uptime HH:MM:SS 系统当前时间 up x days, hh:mm 系统运行时间 y users 当前登录用户数 load average: a, b, c 分别为过去1分钟、5分钟、15分钟到现在的系统平均负载,或者说在这段时间之内运行队列的平均长度,即进程状态为R(可执行状态)或D(不可中断的睡眠状态)的平均数目 tasks total 进程总数 running 正在运行的进程数 sleeping 睡眠的进程数 stopped 停止的进程数 zombie 僵尸进程数 cpu us 处于用户态的进程占用CPU时间的百分比,不含ni sy 处于核心态的进程占用CPU时间的百分比 ni 处于用户态,且改变过优先级的进程占用CPU时间的百分比 id CPU空闲时间的百分比,不含wa wa 等待磁盘IO所占的CPU时间的百分比 hi 处理硬中断所花的CPU时间的百分比 si 处理软中断所花的CPU时间的百分比 st 虚拟机环境下,管理程序(hypervisor)处理虚拟机上其它客户端操作系统占用的CPU时间的百分比,从内核2.6.11开始添加此项信息 mem total 物理内存总量 used 已使用的物理内存总量 free 空闲的物理内存总量。这是狭义的空闲内存,广义的空闲内存还应该包括buffers和cached buffers 用作缓冲(buffer)的物理内存总量 cached 用作缓存(cache)的物理内存总量。请注意,对比free命令可以得知,top为了排版好看,把应该归属于物理内存一部分的cached数据移到交换分区所在的行 swap total 交换分区总量 used 已使用的交换分区总量 free 空闲的交换分区总量
load average详细参考:[1]
详细字段描述:
快捷键 字段名字 描述 A PID 进程ID B PPID 父进程ID D UID 进程所有者的用户ID E USER 进程所有者的有效用户名 C RUSER 进程所有者的实际用户名,关于USER与RUSER的区别,请见后面的解释 G TTY 启动进程的终端名,如果不是从终端启动的进程,则显示为? F GROUP 进程所有者的组名 H PR 进程优先级,PR值越小,越快被执行 I NI NICE值,进程可被执行的优先级的修正数值,负值表示进程被调高优先级,正值表示进程被降低优先级,进程的NICE值可被nice和renice命令赋予 J P或者C 最后使用的CPU,仅在多个逻辑CPU时有意义 Procps版本3.2.5以上显示为P,3.2.4以下显示为#C L TIME 任务使用的CPU时间总计,单位为秒 O VIRT 任务使用的虚拟内存总量,单位为kb,VIRT=SWAP+RES P SWAP 任务使用的虚拟内存中,属于交换空间的大小,单位为kb Q RES 任务使用的虚拟内存中,属于物理内存的大小,单位为kb R CODE 可执行代码占用的物理内存大小,单位为kb S DATA 数据段+栈占用的物理内存大小,单位为kb T SHR 共享内存大小,单位为kb U nFLT 缺页中断次数 V nDRT 最后一次写入到现在,被修改过的页面数,即脏页数 Y WCHAN 进程的Wait Channel,显示进程正在等待的内核函数的名字或地址 Z Flags 任务标志,参考sched.h M TIME+ 任务使用的CPU时间总计,单位为百分之一秒 K %CPU 上次更新到现在,任务占用的CPU时间的百分比 N %MEM 任务使用的物理内存百分比 W S 进程状态,主要有以下状态 D:不可中断的睡眠状态,处于该状态的进程不响应异步信号,例如正在进行IO操作的进程 R:可执行状态,即处于CPU的可执行队列中或者正在CPU上执行的状态 S:可中断的睡眠状态 T:跟踪或停止状态,例如gdb调试中的进程,在断点处停下来的时候就处于跟踪状态 Z:僵尸状态 X COMMAND 程序执行的命令行信息
交互类命令
命令 描述 1(数字1) 多个/单个CPU统计模式 l(小写L) 显示启动时间和平均负载信息的开关 m 显示内存使用情况的开关 t 显示进程和CPU使用情况的开关 c 对当前活动的任务区域,是否显示完整的命令行信息的开关 H 对当前活动的任务区域,以进程为单位还是以线程为单位显示任务的开关 i 对当前活动的任务区域,显示睡眠和僵尸进程的开关 F或者O 对当前活动的任务区域,弹出新窗口,以选择排序的字段 在新窗口中,键入字段的快捷键可以选择相应的字段进行排序,完成之后按回车返回 R 对当前活动的任务区域的内容,按现有排序方式的倒序排列
文件使用情况查看:lsof
lsof命令(List Opened Files)可以列举系统中已经被打开的文件
命令描述
命令 描述 -a 使用此参数表示lsof的命令行参数必须同时满足(AND),不使用此参数则表示只满足任何一个命令行参数(OR) +c width 指定输出的COMMAND列的宽度,width的取值介于7到15之间 -c word 指定输出的COMMAND列只显示word开头的行 +d dir 显示在指定目录中打开的文件,不包含其子目录 +D dir 显示在指定目录中打开的文件,递归包含其子目录 -d fd1-fd2 指定输出的FD列只显示匹配的文件描述符列表 -i [46] [proto] [@host|addr] [:svc_list|port_list] 显示监听指定的协议、端口、主机等的网络信息,详见常用方法 -n 显示IP,而不是解析为主机名 -p pid1,pid2,… 显示指定的进程列表已打开的文件 -P 显示端口号,而不是端口名 -r [delay] 每个delay秒显示一次lsof的结果,不指定delay的话,默认为15秒 -u username1,username2,… 显示指定的用户列表已打开的文件
使用事例:
1)显示指定目录,有哪些进程在使用
#lsof /home/ucweb/ COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 22478 ucweb cwd DIR 8,1 4096 1586299 /home/ucweb su 22517 root cwd DIR 8,1 4096 1586299 /home/ucweb bash 22524 root cwd DIR 8,1 4096 1586299 /home/ucweb lsof 22997 root cwd DIR 8,1 4096 1586299 /home/ucweb lsof 22998 root cwd DIR 8,1 4096 1586299 /home/ucweb
2)列出IP地址为192.168.168.143的链接:
# lsof -i @192.168.168.143 -Pn COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nmbd 1303 root 11u IPv4 9419 0t0 UDP 192.168.168.143:137 nmbd 1303 root 13u IPv4 9421 0t0 UDP 192.168.168.143:138 memcached 1828 ucweb 28u IPv4 44417 0t0 TCP 192.168.168.143:11211->192.168.168.1:52027 (ESTABLISHED) sshd 22412 root 3r IPv4 51288 0t0 TCP 192.168.168.143:22->192.168.168.1:65403 (ESTABLISHED) sshd 22477 ucweb 3u IPv4 51288 0t0 TCP 192.168.168.143:22->192.168.168.1:65403 (ESTABLISHED)
磁盘相关命令
- 查看磁盘类型:smartctl
- 查看磁盘使用率:df -h
- 查看磁盘IO:iostat