IT袋

当前位置:主页 > 经验教程 > 系统教程 >

Linux常用命令大全

Linux常用命令大全 Linux常用命令集合(4)

时间:2024-02-22 18:38:14 来源:IT袋 作者:马勇
导读:Linux常用命令大全,tcpdump # dump出本机12301端口的tcp包tcpdump -i em1 tcp port 12301 -s 1500 -w abc.pcap 跟踪网络路由路径 # traceroute默认使用udp方式, 如果是-I则改成icmp方式trace

Linux常用命令大全

tcpdump

# dump出本机12301端口的tcp包
tcpdump -i em1 tcp port 12301 -s 1500 -w abc.pcap

跟踪网络路由路径

# traceroute默认使用udp方式, 如果是-I则改成icmp方式
traceroute -I www.163.com
# 从ttl第3跳跟踪
traceroute -M 3 www.163.com  
# 加上端口跟踪
traceroute -p 8080 192.168.10.11

ss

# 显示本地打开的所有端口
ss -l 
# 显示每个进程具体打开的
socketss -pl 
# 显示所有tcp 
socketss -t -a 
# 显示所有的UDP 
Socektss -u -a 
# 显示所有已建立的SMTP连接
ss -o state established '( dport = :smtp or sport = :smtp )'  # 显示所有已建立的HTTP连接 
ss -o state established '( dport = :http or sport = :http )'  找出所有连接X服务器的进程
ss -x src /tmp/.X11-unix/*  
列出当前socket统计信息
ss -s 
解释:netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

netstat

# 输出每个ip的连接数,以及总的各个状态的连接数
netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'
# 统计所有连接状态, 
# CLOSED:无连接是活动的或正在进行
# LISTEN:服务器在等待进入呼叫
# SYN_RECV:一个连接请求已经到达,等待确认
# SYN_SENT:应用已经开始,打开一个连接
# ESTABLISHED:正常数据传输状态
# FIN_WAIT1:应用说它已经完成
# FIN_WAIT2:另一边已同意释放
# ITMED_WAIT:等待所有分组死掉
# CLOSING:两边同时尝试关闭
# TIME_WAIT:主动关闭连接一端还没有等到另一端反馈期间的状态
# LAST_ACK:等待所有分组死掉
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
# 查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

监控linux性能命令

top

按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序, 然后回车。而大写的 R 键可以将当前的排序倒转

列名含义
PID进程id
PPID父进程id
RUSERReal user name
UID进程所有者的用户id
USER进程所有者的用户名
GROUP进程所有者的组名
TTY启动进程的终端名。不是从终端启动的进程则显示为 ?
PR优先级
NI

相关阅读