这篇文章主要介绍“ss命令的实用方法有哪些”,在日常操作中,相信很多人在ss命令的实用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ss命令的实用方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具。
$ ss -s Total: 524 TCP: 8 (estab 1, closed 0, orphaned 0, timewait 0) Transport Total IP IPv6 RAW 2 1 1 UDP 7 5 2 TCP 8 6 2 INET 17 12 5 FRAG 0 0 0
RAW Socket 原始套接字。允许直接发送和接收 IP 数据包,无需满足特定的传输协议,用于 namp 等安全应用。
TCP 传输控制协议。是我们网络连接当中的主要连接协议。 UDP 用户数据报协议。类似于 TCP 但没有错误检查。 INET 包含上述项。( INET4 和 INET6 可以通过一些 ss 命令单独查看)。 FRAG 可以理解为碎片的意思。
显然,上面的输出结果并没有直接显示详细的 socket 连接情况,我们可以看到最上面的 Total 行显示的 socket 总数是非常多的,不过,这种分类统计的方式在某些情况下很有用。 如果想要查看具体的 socket 活动信息,我们可以使用 ss -a 命令,但是我们要做好心理准备查看一大堆的信息,我们可以先用 wc -l 来统计一下行数试探一波:
$ ss -a | wc -l 555
有木有被吓到?555 行数据! 不过不必惊慌,我们可以查看指定类别的 socket 活动。
ss -ta 转储所有 TCP socket ss -ua 转储所有 UDP socket ss -wa 转储所有 RAW socket ss -xa 转储所有 UNIX socket ss -4a 转储所有 IPV4 socket ss -6a 转储所有 IPV6 socket
不带参数的 ss 命令会显示所有已经建立的 socket 连接。为了方便阅读,这里只显示一页的信息,省略其他大部分信息:
$ ss | more Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port u_str ESTAB 0 0 * 20863 * 20864 u_str ESTAB 0 0 * 32232 * 33018 u_str ESTAB 0 0 * 33147 * 3257544ddddy u_str ESTAB 0 0 /run/user/121/bus 32796 * 32795 u_str ESTAB 0 0 /run/user/121/bus 32574 * 32573 u_str ESTAB 0 0 * 32782 * 32783 u_str ESTAB 0 0 /run/systemd/journal/stdout 19091 * 18113 u_str ESTAB 0 0 * 769568 * 768429 u_str ESTAB 0 0 * 32560 * 32561 u_str ESTAB 0 0 @/tmp/dbus-8xbBdjNe 33155 * 33154 u_str ESTAB 0 0 /run/systemd/journal/stdout 32783 * 32782 … tcp ESTAB 0 64 192.168.0.16:ssh 192.168.0.6:25944 tcp ESTAB 0 0 192.168.0.16:ssh 192.168.0.6:5385
要查看刚建立的 TCP 连接,使用 ss -t :
$ ss -t State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 64 192.168.0.16:ssh 192.168.0.6:25944 ESTAB 0 0 192.168.0.16:ssh 192.168.0.9:5385
要仅显示监听 socket ,尝试 ss -lt :
$ ss -lt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 10 127.0.0.1:submission 0.0.0.0:* LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:* LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* LISTEN 0 5 127.0.0.1:ipp 0.0.0.0:* LISTEN 0 10 127.0.0.1:smtp 0.0.0.0:* LISTEN 0 128 [::]:ssh [::]:* LISTEN 0 5 [::1]:ipp [::]:*
若你想要显示端口号而不是服务名,则 ss -ltn :
$ ss -ltn State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 10 127.0.0.1:587 0.0.0.0:* LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 5 127.0.0.1:631 0.0.0.0:* LISTEN 0 10 127.0.0.1:25 0.0.0.0:* LISTEN 0 128 [::]:22 [::]:* LISTEN 0 5 [::1]:631 [::]:*
这里就先介绍这么多,其他的详细内容请参考帮助手册( ss -h)。 另外,这里提供一些小技巧,你可以将那些最有用的选项转换为别名,能让你更容易使用。例如:
$ alias listen="ss -lt"$ alias socksum="ss -s"
到此,关于“ss命令的实用方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。