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服务器的进程