TranslateProject/translated/tech/20141017 Linux ss Tool to Identify Sockets or Network Connections with Examples.md

65 lines
2.9 KiB
Markdown
Raw Normal View History

Linux中的鉴别套接字/网络的ss工具示例
================================================================================
ss是iproute2包的一部分控制TCP/IP网络和流量的工具。iproute2目标是替代先前用于配置网络接口路由表和管理ARP表的标准Unix网络工具套装通常称之为“net-tools”。ss工具用于导出套接字统计它可以显示与netstat类似的信息且可以显示更多的TCP和状态信息。它也应该更加快因为它工作与内核空间。ss的操作和netstat很像所以这让它可以很容易就可以取代。
### 使用和常见选项 ###
ss和netstat很像默认他会显示已经建立连接的开放的非监听TCP套接字列表。并且你可以用下面的选项过滤输出
- **-n** - 尝试解析服务名。
- **-r** - 尝试解析数字地址/端口。
- **-a** - 显示所有套接字。
- **-l** - 显示监听套接字。
- **-p** - 显示进程人使用的套接字。
- **-s** - 打印统计
- **-t** - 只显示TCP套接字。
- **-u** - 只显示UDP套接字。
- **-d** - 只显示DCCP套接字
- **-w** - 只显示原始套接字。
- **-x** - 只显示Unix域套接字
- **-f FAMILY** - 显示FAMILY套接字的类型。目前支持下面这些家族unix、inet、inet6、link、netlink。
- **-A QUERY** - 导出套接字列表通过逗号分隔。可以识别下面的标识符all、inet、tcp、udp、raw、unix、packet、netlink、unix_dgram、unix_stream、packet_raw、packet_dgram。
### ss 命令示例 ###
**1.** 显示所有的的TCP端口和使用它们的进程
# ss -tnap
![ss tnap](http://blog.linoxide.com/wp-content/uploads/2014/09/ss-tnap.jpg)
**2.** 你可以使用-4 标志来显示IPv4链接-6标志来显示IPv6链接比如
# ss -tnap6
![ss tnap6](http://blog.linoxide.com/wp-content/uploads/2014/09/ss-tnap6.jpg)
**3.** 跟上面的行为一样你只需用n代替t就会显示所有开放的UDP端口。
# ss -tnap
![ss unap](http://blog.linoxide.com/wp-content/uploads/2014/09/ss-unap.jpg)
**4.** 你可以使用-s标志来打印不同的有用的统计
# ss -s
![ss stats](http://blog.linoxide.com/wp-content/uploads/2014/09/ss-stats.jpg)
**5.** 你可以使用-o标志来检查所有不同状态下的链接比如显示所有已经建立的连接。
# ss -tn -o state established -p
![ss est](http://blog.linoxide.com/wp-content/uploads/2014/09/ss-est.jpg)
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/ss-sockets-network-connection/
作者:[Adrian Dinu][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/adriand/