Linux

ss 和 netstat 区别

netstat是遍历/proc下面每个PID目录;

ss直接读/proc/net下面的统计信息。

所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

netstat 操作

# 几十万并发的情况下netstat会没有响应,建议使用 ss 命令
-a     # 显示所有连接中的Socket
-t     # 显示TCP连接
-u     # 显示UDP连接
-n     # 显示所有已建立的有效连接
netstat -anlp           # 查看链接
netstat -r              # 查看路由表
netstat -ano  |getp server    # 查看server 服务端口

 示例:

# netstat -ln 
# l表示显示当前系统监听的端口信息;n表示端口按照端口号来显示,而不转换为 service文件中定义的端口名;若希望了解各个端口都是由哪些进程监听则可以使用p参数。 若发现不需要的服务, 可以使用linuxconf或ntsysv命令来关闭这些服务在系统启动时自 启动,然后重新启动系统则这些服务将在运行。 有些服务是由inetd超级服务器来监控的,则需要标记/etc/inetd.conf来关闭这些服务。

# netstat -lntp     # 查看开启了哪些端口 
# netstat -r     # 本选项可以显示关于路由表的信息 
# netstat -a     # 本选项显示一个所有的有效连接信息列表 
# netstat -an|grep 8080 
# netstat -na|grep -i listen     # 可以看到目前系统侦听的端口号 
# netstat -antup     # 查看已建立的连接进程,所占用的端口。

ss  查看 :

ss -s          # 列出当前socket详细信息
ss -l          # 显示本地打开的所有端口
ss -pl         # 显示每个进程具体打开的socket
ss -t -a       # 显示所有tcp socket
ss -u -a       # 显示所有的UDP Socekt
ss dst 192.168.119.113         # 匹配远程地址
ss dst 192.168.119.113:http    # 匹配远程地址和端口号
ss dst 192.168.119.113:3844    # 匹配远程地址和端口号
ss src 192.168.119.103:16021   # 匹配本地地址和端口号
ss -o state established '( dport = :smtp or sport = :smtp )'        # 显示所有已建立的SMTP连接
ss -o state established '( dport = :http or sport = :http )'        # 显示所有已建立的HTTP连接
ss -x src /tmp/.X11-unix/*         # 找出所有连接X服务器的进程

  

原文地址:https://www.cnblogs.com/sharesdk/p/8691522.html