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
# 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: # 匹配远程地址和端口号
ss src 192.168.119.103: # 匹配本地地址和端口号
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服务器的进程