Skip to content

Latest commit

 

History

History
57 lines (26 loc) · 2.11 KB

File metadata and controls

57 lines (26 loc) · 2.11 KB

多用户状态有网络服务

常用文件

  • /etc/protocols :文件可以获知Linux支持的协议和各个协议的协议号

  • /etc/services :文件可以获知linux支持的网络服务及其端口号

  • /etc/sysconfig/network-scripts :网络配置文件目录

很重要的命令ss

ss -l 显示本地打开的所有端口

ss -pl 显示每个进程具体打开的socket

ss -t -a 显示所有tcp socket

ss -u -a 显示所有的UDP Socekt

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

ss -s 列出当前socket详细信息

ss和netstat对比

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

ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。原因如下:

1)当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费生命,而用ss才是节省时间。

2)而ss快的秘诀在于它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢(但仍然比netstat要快)。

END 链接