Linux常用命令大全,收集整理常用Linux命令(四)

2022年4月19日 515点热度 0人点赞 0条评论

Linux常用命令大全,收集整理常用Linux命令,四、网络相关

 

查看什么进程使用了该端口

lsof -i:port

获取本机ip地址

/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"

iptables命令

# 查看iptables状态
service iptables status
# 要封停一个ip
iptables -I INPUT -s ***.***.***.*** -j DROP
# 要解封一个IP,使用下面这条命令:
iptables -D INPUT -s ***.***.***.*** -j DROP
备注: 参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。
#开启9090端口的访问
/sbin/iptables -I INPUT -p tcp --dport 9090 -j ACCEPT 
# 防火墙开启、关闭、重启
/etc/init.d/iptables status
/etc/init.d/iptables start
/etc/init.d/iptables stop
/etc/init.d/iptables restart

nc命令, tcp调试利器

#给某一个endpoint发送TCP请求,就将data的内容发送到对端
nc 192.168.0.11 8000 < data.txt
#nc可以当做服务器,监听某个端口号,把某一次请求的内容存储到received_data里
nc -l 8000 > received_data
#上边只监听一次,如果多次可以加上-k参数
nc -lk 8000

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 
    
# 显示每个进程具体打开的socket
ss -pl 
    
# 显示所有tcp socket
ss -t -a 
    
# 显示所有的UDP Socekt
ss -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常用命令大全,收集整理常用Linux命令(一)

Linux常用命令大全,收集整理常用Linux命令(二)

Linux常用命令大全,收集整理常用Linux命令(三)

Linux常用命令大全,收集整理常用Linux命令(四)

Linux常用命令大全,收集整理常用Linux命令(五)

 

参考文章:Linux常用命令知识积累(持续更新)
参考来源:https://siye1982.github.io/2016/02/25/linux-list/
文章快照:Linux常用命令知识积累(持续更新) _ Panda

帮助教程

提供最新的帮助教程,方便使用。

文章评论