本文主要介绍查看端口占用的程序(查看端口号占用的进程),下面一起看看查看端口占用的程序(查看端口号占用的进程)相关资讯。
1.ss命令简介
ss是套接字统计的缩写。ss命令可用于获取套接字统计信息,它显示的内容与netstat类似。但是ss的好处是可以显示更多更详细的tcp和连接状态信息,而且比netstat更快。当服务器的套接字连接数变得非常大时,无论是使用netstat命令还是直接使用cat /proc/net/tcp,执行速度都会非常慢。ss命令利用了tcp协议栈中的tcp_diag。tcp_diag是一个分析统计的模块,可以在linux内核中获得第一手的信息,所以ss命令的性能会好很多。
ss命令简介
2.常见选项
救命救命
v,version显示版本号。
t,tcp显示tcp协议的套接字。
u,udp显示udp协议的套接字。
x,unix显示unix域套接字,这与f选项相同。
n,numeric不解析服务的名称,例如 22 端口不会显示为 宋承宪 。
l,listening仅显示处于状态的端口。
p,processes显示端口的进程(在ubuntu上需要sudo)。
a,all对于tcp协议,它包括端口和已建立的连接。
r,resolve将ip解释为域名,将端口号解释为协议名。
3.一般用法
如果你不 t添加选项ss命令,默认情况下将输出所有已建立的连接(不包括端口),包括tcp、udp和unix套接字:
3.1查看前5个连接:
[root @ zcwyou ~]# ss | headn 5 netid state recvq s:port对等地址:port
u_str estab 0 0 * 20040 * 20041
u_str estab 0 0 * 20030 * 20031
u_str estab 0 0 * 20044 * 20043
u _ str estab 0 0/运行/数据库美国/系统总线插座18592 * 18591
3.2检查主机的端口。
[root @ zcwyou ~]# sstnlstate recvq s:port对等地址:port
听0 128 127 . 0 . 0 . 1 : 9016 :
听0 128 127 . 0 . 0 . 1 : 9017 :
听0 100 127 . 0 . 0 . 1 : 25 :
听0 128 127 . 0 . 0 . 1 : 9018 :
听0 128 127 . 0 . 0 . 1 : 1723 :
听0 128 127 . 0 . 0 . 1 : 9019 :
3.3 linux查看tcp连接
[root @ zcwyou ~]# ssta: : 1 : sh : : 1 : 53238
: : 1 : 53278 : : 1 : sh
: : 1 : sh : : 1 : 53280
: : 1 : 53288 : : 1 : sh
::1: : 1 : 53296
: : 1 : 53294 : : 1 : sh
: : 1 : 48456 : : 1 : sh
: : 1 : 53286 : : 1 : shh
: : 1 : 53292 : : 1 : shh
: : 1 : sh : : 1 : 53272
linux查看tcp连接
3.4解析ip和端口号
使用r选项
[root @ zcwyou ~]# sstlr state recvq s:port对等地址:port
list en 0 128 my _ public _ ip: 9016 :
list en 0 128 my _ public _ ip: 9017 :
听0 100 localhost: smtp :
list en 0 128 my _ public _ ip: 9018 :
list en 0 128 my _ public _ ip:p ptp:
list en 0 128 my _ public _ ip: 9019 :
linux视图端口
3.5带有流程名称的输出
使用p选项
[root @ zcwyou ~]# ss stotal: 2340(内核2365)
tcp: 2126(estab 72,已关闭23,孤立1,synrecv 0,timewait 2/0),端口0
传输总ip ipv6
2365raw 101 udp 211 tcp 2103 2059 44 inet 2106 2060 46 frag 0003.6根据条件过滤输出结果。
输出结果可以根据源ip、源端口、目的ip、目的端口按语法过滤
src源
dst目标
夏令时172.16.26.33
ss dst 172 . 16 . 26 . 43 : http
ss dst 172 . 16 . 26 . 43 : 443
3.7根据源端口号范围的输出:
[root@zcwyou ~]# ss sport op端口输出根据目标端口号范围:
ss端口op端口
op可以表示以下任何内容:
=le小于等于一个端口号=ge大于等于一个端口号==eq等于一个端口号!=ne不等于端口号gt大于端口号lt小于端口号。
例如:
输出源端口号小于8080的连接状态。
[root @ zcwyou ~]# sstunlsport lt 8080或
[root @ zcwyou ~]# sstunlsport \ 80803.8根据tcp的状态进行过滤。
ss命令也可以根据tcp连接的状态进行过滤。支持的tcp协议包括:
确定的
同步发送
同步接收
鳍等待1
鳍等待2
时间等待
关闭的
关闭等待
最后确认
倾听
结束的
除了上述tcp状态,您还可以使用以下状态:
状态输出结果all输出所有tcp状态。connected输出已建立连接的tcp。状态。同步输出同步状态连接。bucket输出维护的状态,如timewait和synrecv。big输出与bucket相反的状态。
仅输出ipv4状态:
[root@zcwyou ~]# ss 4状态筛选器仅输出ipv6状态:
[root@zcwyou ~]# ss 6状态过滤器输出ipv4状态:
[root @ zcw you ~] # ss4状态3.9根据tcp状态和端口号过滤。
ipv4协议下的输入和输出ssh侦听状态:
[root @ zcw you ~] # ss4n状态\(dport = : sh \)或者
[root @ zcw you ~] # ss4n状态 (dport = : sh) ;使用转义括号或单引号。
查看所有已建立tcp三次握手的http连接:
[root @ zcwyou ~]# ssstat: http或dport = : http) ;查看所有正在进行的ssh连接:
[root @ zcwyou ~]# ssstat: 224 .总结
ss命令功能丰富,性能优异,完全可以替代netsate命令。成为了我们每天查看socket相关信息的利器。以后netstat逐渐被ss取代。
了解更多查看端口占用的程序(查看端口号占用的进程)相关内容请关注本站点。