当前位置: 首页 > 科技观察

网络检测神器ss命令,你可能根本不会用!

时间:2023-03-20 22:50:25 科技观察

今天给大家介绍一下Linux的ss命令。ss是SocketStatistics的缩写,用来统计socket连接的相关信息。它类似于netstat,但比netstat具有更强大的统计功能,可以显示更多更详细的连接信息。一开始接触ss命令可能比较困难。我们可以通过ss-h或者ss-help来详细了解ss的选项功能。当然,最好的办法就是直接尝试一些常用的命令来学习ss。让我们来看看ss的一些实际用途。ss-s是一个非常有用的命令。它可以按网络传输类型显示总体统计信息,让我们测试一下:$ss-sTotal:524TCP:8(estab1,closed0,orphaned0,timewait0)TransportTotalIPIPv6RAW211UDP752TCP862INET17125FRAG000RAWSocket原始套接字。允许在不满足特定传输协议的情况下直接发送和接收IP数据包,用于nmap等安全应用。TCP传输控制协议。它是我们网络连接中的主要连接协议。UDP用户数据报协议。类似于TCP但没有错误检查。INET包含上述项目。(INET4和INET6可以用一些ss命令分别查看)。FRAG可以理解为片段的意思。显然,上面的输出并没有直接显示详细的套接字连接状态。我们可以看到最上面的Total行显示的套接字总数非常大。但是,这种分类统计方法在某些情况下是有用的。如果我们想查看具体的socket活动信息,可以使用ss-a命令,但是要有心理准备,查看的信息会很多,可以先用wc-l统计行数试试看:$ss-a|wc-l555你害怕吗?555行数据!不过不要惊慌,我们可以查看指定类别的套接字活动。ss-ta转储所有TCP套接字ss-ua转储所有UDP套接字ss-wa转储所有RAW套接字ss-xa转储所有UNIX套接字ss-4a转储所有IPV4套接字ss-6a转储所有IPV6套接字带参数的ss命令将显示所有已建立的套接字连接。为了阅读方便,这里只显示一页信息,其他大部分信息省略:$ss|moreNetidStateRecv-QSend-QLocalAddress:PortPeerAddress:Portu_strESTAB00*20863*20864u_strESTAB00*32232*33018u_strESTAB00*33147*3257544ddddyu_strESTAB00/run/run/6*32795u_strESTAB00/run/user/121/bus32574*32573u_strESTAB00*32782*32783u_strESTAB00/run/systemd/journal/stdout19091*18113u_strESTAB00*769568*768429u_strESTAB00*32560*32561u_strESTAB00@/tmp/dbus-8xbBdjNe33155*33154u_strESTAB00/run/systemd/journal/stdout32783*32782...tcpESTAB064192.168.0.16:ssh192.168.0.6:25944tcpESTAB00192.168.0.16:ssh192.168.0.6:5385查看刚刚建立的TCP连接,使用ss-t:$ss-tStateRecv-QAdds-QLocal:PortPeerAddress:PortESTAB064192.168.0.16:ssh192.168.0.6:25944ESTAB00192.168.0.16:ssh192.168.0.9:5385要仅显示侦听套接字,请尝试ss-lt:$ss-ltStateRecv-QSend-QLocalAddress:PortPeerPortLISTEN010127.0.0.1:submission0.0.0.0:*LISTEN0128127.0.0.53%lo:domain0.0.0.0:*LISTEN01280.0.0.0:ssh0.0.0.0:*LISTEN05127.0.0.1:ipp0.0.0.0:*LISTEN010127.0.0.1:smtp0.0.0.0:*LISTEN0128[::]:ssh[::]:*LISTEN05[::1]:ipp[::]:*如果要显示端口号而不是服务名,使用ss-ltn:$ss-ltnStateRecv-QSend-QLocalAddress:PortPeerAddress:PortLISTEN010127.0.0.1:5870.0.0.0:*LISTEN0128127.0.0.53%lo:530.0.0.0:*LISTEN01280.0.0.0:220.0.0.0:*LISTEN0.05127..1:6310.0.0.0:*LISTEN010127.0.0.1:250.0.0.0:*LISTEN0128[::]:22[::]:*LISTEN05[::1]:631[::]:*这是第一个introduction就这么多,其他的请参考帮助手册(ss-h)。另外,这里有一些小技巧,你可以把最有用的选项转换成别名,这样会更方便你使用。例如:$aliaslisten="ss-lt"$aliassocksum="ss-s"