Linux环境下常用的命令

抓包命令: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的取值介于715之间
-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)

磁盘相关命令

  1. 查看磁盘类型:smartctl
  2. 查看磁盘使用率:df -h
  3. 查看磁盘IO:iostat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值