Linux系统使用ss命令查看端口状态 您所在的位置:网站首页 linux查询端口状态 Linux系统使用ss命令查看端口状态

Linux系统使用ss命令查看端口状态

#Linux系统使用ss命令查看端口状态| 来源: 网络整理| 查看: 265

Linux系统使用ss命令查看端口状态

目录 1.可用工具 2.ss帮助 2.1 选项分类说明 2.2 过滤选项family 2.3 过滤选项state 2.4 状态之间的关系 3.ss的使用 3.1 使用示例 3.2 过滤 3.2.1 状态过滤 3.2.2 通过family过滤 3.2.3 使用地址和端口过滤 3.3 常用组合 1.可用工具 逐渐淘汰的 netstat 命令在 net-tools 软件包里(多年没有维护;效率很低) 逐渐成为主流的 ss 命令在 iproute2 软件包里(对常用网络命令做了改进和优化)

ArchLinux已弃用"net-tools",转而使用"iproute2" 弃用命令 > 替换命令arp > ip nifconfig > ip a, ip link, ip -snetstat > ss, ip route, ip -s linkroute > ip route详见:https://www.cnblogs.com/sztom/articles/10764994.html 不推荐使用的Linux网络命令及其替代品

2.ss帮助

$ ss -h -h, --help this message 帮助信息 -V, --version output version information 输出版本信息 -n, --numeric don't resolve service names 不解析服务名称 -r, --resolve resolve host names 解析主机名 -a, --all display all sockets 显示所有套接字 -l, --listening display listening sockets 显示侦听套接字 -o, --options show timer information 显示计时器信息 -e, --extended show detailed socket information 显示详细的套接字信息 -m, --memory show socket memory usage 显示套接字内存使用量 -p, --processes show process using socket 显示使用socket的进程信息 -i, --info show internal TCP information 显示内部TCP信息 --tipcinfo show internal tipc socket information 显示内部tipc套接字信息 -s, --summary show socket usage summary show socket使用摘要 --tos show tos and priority information 显示tos和优先级信息 -b, --bpf show bpf filter socket information 显示bpf过滤器套接字信息 -E, --events continually display sockets as they are destroyed 在它们被摧毁时不断显示套接字 -Z, --context display process SELinux security contexts 显示进程SELinux安全上下文 -z, --contexts display process and socket SELinux security contexts 显示进程和套接字SELinux安全上下文 -N, --net switch to the specified network namespace name 切换到指定的网络命名空间名称   -4, --ipv4 display only IP version 4 sockets 只显示ipv4的套接字; -6, --ipv6 display only IP version 6 sockets 只显示ipv6的套接字; -0, --packet display PACKET sockets 显示PACKET套接字 -t, --tcp display only TCP sockets 仅显示TCP套接字 -S, --sctp display only SCTP sockets 仅显示SCTP套接字 -u, --udp display only UDP sockets 仅显示UDP套接字 -d, --dccp display only DCCP sockets 仅显示DCCP套接字 -w, --raw display only RAW sockets 仅显示RAW套接字 -x, --unix display only Unix domain sockets 仅显示Unix域套接字 --tipc display only TIPC sockets 仅显示TIPC套接字 --vsock display only vsock sockets 仅显示vsock套接字 -f, --family=FAMILY display sockets of type FAMILY 显示FAMILY类型的套接字 FAMILY := {inet|inet6|link|unix|netlink|vsock|tipc|help}   -K, --kill forcibly close sockets, display what was closed 强行关闭套接字,显示已关闭的内容 -H, --no-header Suppress header line 抑制标题行   -A, --query=QUERY, --socket=QUERY QUERY := {all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink|vsock_tipc}[,QUERY]   -D, --diag=FILE Dump raw information about TCP sockets to FILE 将有关TCP套接字的原始信息转储到FILE -F, --filter=FILE read filter information from FILE 从FILE中读取过滤器信息 FILTER := [ state STATE-FILTER ] [ EXPRESSION ] STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES} TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listening|closing} connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing} synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing} bucket := {syn-recv|time-wait} big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listening|closing}

2.1 选项分类说明

这2个选项(-n, -r)不能同时使用 -n, --numeric don't resolve service names 不解析服务名称 -r, --resolve resolve host names 解析主机名

统计摘要 -s, --summary show socket usage summary show socket使用摘要

显示全部 -a, --all display all sockets 显示所有套接字

仅显示部分 -l, --listening display listening sockets 显示侦听套接字 -4, --ipv4 display only IP version 4 sockets 只显示ipv4的套接字; -6, --ipv6 display only IP version 6 sockets 只显示ipv6的套接字; -0, --packet display PACKET sockets 显示PACKET套接字 -t, --tcp display only TCP sockets 仅显示TCP套接字 -S, --sctp display only SCTP sockets 仅显示SCTP套接字 -u, --udp display only UDP sockets 仅显示UDP套接字 -d, --dccp display only DCCP sockets 仅显示DCCP套接字 -w, --raw display only RAW sockets 仅显示RAW套接字 -x, --unix display only Unix domain sockets 仅显示Unix域套接字

其他更多信息 -p, --processes show process using socket 显示使用socket的进程信息 -o, --options show timer information 显示计时器信息 -e, --extended show detailed socket information 显示详细的套接字信息 -m, --memory show socket memory usage 显示套接字内存使用量 -i, --info show internal TCP information 显示内部TCP信息

2.2 过滤选项 family

-f, --family=FAMILY display sockets of type FAMILY 显示FAMILY类型的套接字 FAMILY := {inet|inet6|link|unix|netlink|vsock|tipc|help}

2.3 过滤选项 state

state : {all|connected|synchronized|bucket|big|TCP-STATES} TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listening|closing} connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing} synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing} bucket := {syn-recv|time-wait} big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listening|closing}

2.4 状态之间的关系

详细内容请看原文:https://blog.51cto.com/net881004/2164020 图1:客户端和服务器建立连接的挥手过程原理图  

图2:TCP状态转移图  

图3:关闭部分的状态转移图

3. ss的使用

如果不添加选项 ss 命令默认输出所有建立的连接(不包含监听的端口),包括 tcp, udp, and unix socket 三种类型的连接: $ ss Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp ESTAB 0 0 192.168.31.177:38885 60.227.167.98:24932 tcp ESTAB 0 0 192.168.31.177:35846 89.42.31.211:polestar tcp CLOSE-WAIT 32 0 127.0.0.1:59638 127.0.0.1:socks tcp CLOSE-WAIT 1 0 127.0.0.1:59612 127.0.0.1:socks tcp FIN-WAIT-2 0 0 127.0.0.1:socks 127.0.0.1:59606 tcp ESTAB 0 0 192.168.31.177:34970 89.42.31.211:polestar

3.1 使用示例

显示每个协议的摘要统计信息。 $ ss -s Total: 916 TCP: 75 (estab 15, closed 26, orphaned 4, timewait 18) Transport Total IP IPv6 RAW 1 1 0 UDP 14 13 1 TCP 49 48 1 INET 64 62 2 FRAG 0 0 0

查看所有套接字: ss -a $ ss |wc -l 901 $ ss -a |wc -l //898 State 1 CLOSE-WAIT 2 ESTAB 749 FIN-WAIT-2 2 LAST-ACK 1 LISTEN 32 TIME-WAIT 2 UNCONN 110 合计 结果 898

显示侦听套接字,列出所有打开的网络连接端口, ss -l或 --listening $ ss -l |wc -l //147

显示数字地址,而不是尝试确定符号主机,端口或用户名(跳过DNS转换)ss -n或--numeric $ ss -n

显示符号主机,端口或用户名,而不是数字表示。Netstat默认执行此操作。ss -r或--resolve $ ss -r

显示进程ID(PID)和每个套接字所属程序的名称。 $ ss -p

包括与网络计时器相关的信息。ss -o或--options $ ss -o

显示更高级别的细节。ss -e或--extended $ ss -e Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp ESTAB 0 0 192.168.31.177:34970 89.42.31.211:polestar uid:1001 ino:3316553 sk:750 tcp ESTAB 0 0 127.0.0.1:59570 127.0.0.1:socks timer:(keepalive,38sec,0) uid:1001 ino:3335889 sk:76a

3.2 过滤 3.2.1 状态过滤

$ ss state syn-recv 有如下选项可用,后面的数字是本机当前按状态查询的行数 |wc -l

syn-sent 发送同步信号 syn-recv 接收同步信号 established 建立连接 fin-wait-{1,2} 等待 完成 2 time-wait 等待时间 2 closed 关闭 111 Close-wait 等待关闭 2 Last-ack 最后确认 listening 坚听 32 closing 关闭 1

all : 所有以上10种状态 connected : 除了 listening and closed 的剩所有状态(8种状态) synchronized :所有 connected 除了 syn-sent (7种状态) bucket : 显示状态为maintained as minisockets,如:time-wait和syn-recv.(2种状态) big : 和bucket相反.(8种状态)

 

$ ss state all |wc -l 1036 $ ss state connected |wc -l 889 $ ss state synchronized |wc -l 904 $ ss state bucket |wc -l 18 $ ss state big |wc -l 1023 $ ss state listening |wc -l 34

3.2.2 通过family过滤

{inet|inet6|link|unix|netlink|vsock|tipc|help} $ ss -f inet $ ss -f inet |wc -l 33 $ ss -f link |wc -l 6 $ ss -f unix |wc -l 851 $ ss -f netlink |wc -l 62 $ ss -f vsock |wc -l

3.2.3 使用地址和端口过滤

可以通过 dst/src/dport/sprot 语法来过滤连接的来源和目标,来源端口和目标端口。

匹配本地地址和端口号 $ ss src 192.168.31.177 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp ESTAB 0 0 192.168.31.177:60412 89.42.31.211:polestar tcp ESTAB 0 0 192.168.31.177:51972 58.250.136.56:http-alt tcp LAST-ACK 0 1 192.168.31.177:57926 220.194.95.148:https

匹配远程地址和端口号 $ ss dst 89.42.31.211 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp ESTAB 0 0 192.168.31.177:60476 89.42.31.211:polestar tcp ESTAB 0 0 192.168.31.177:60452 89.42.31.211:polestar

$ ss dst 192.168.31.113:http $ ss dst 192.168.31.113:80

端口过滤 $ ss dport OP PORT $ ss sport OP PORT 操作符OP 可以代表以下任意一个:   = ge 大于或等于某个端口号   == eq 等于某个端口号   != ne 不等于某个端口号    > gt 大于某个端口号   < lt 小于某个端口号 $ ss -tunl sport lt 50 $ ss -tunl sport \< 50

3.3 常用组合

查看主机监听的端口,本地IP地址及tcp数字端口号(t:tcp; n:数字显示;l监听) $ ss -tnl

显示名称,比如上面的127.0.0.1:53显示为tigger:domain; 端口22显示为ssh等。 $ ss -tlr

$ ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 127.0.0.1:1080 0.0.0.0:* LISTEN 0 5 0.0.0.0:8999 0.0.0.0:* LISTEN 0 5 [::]:8999 [::]:* $ ss -trl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 localhost:socks 0.0.0.0:* LISTEN 0 5 0.0.0.0:bctp 0.0.0.0:* LISTEN 0 5 [::]:bctp [::]:*

加上p,显示pid $ ss -tlrp State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 localhost:socks 0.0.0.0:* users:(("sslocal",pid=1123,fd=3)) LISTEN 0 5 0.0.0.0:bctp 0.0.0.0:* users:(("qbittorrent",pid=618,fd=29)) LISTEN 0 5 [::]:bctp [::]:* users:(("qbittorrent",pid=618,fd=28))

所有的tcp连接 ss -tan State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 127.0.0.1:1080 0.0.0.0:* LISTEN 0 5 0.0.0.0:8999 0.0.0.0:* TIME-WAIT 0 0 127.0.0.1:1080 127.0.0.1:32874 TIME-WAIT 0 0 127.0.0.1:1080 127.0.0.1:32890 ESTAB 0 0 127.0.0.1:1080 127.0.0.1:32910 ESTAB 0 0 192.168.31.177:37342 89.42.31.211:1060 ESTAB 0 0 127.0.0.1:32898 127.0.0.1:1080 CLOSE-WAIT 0 0 192.168.31.177:57108 58.250.136.56:8080 ESTAB 0 0 127.0.0.1:1080 127.0.0.1:32894 ESTAB 0 0 192.168.31.177:37330 89.42.31.211:1060 ESTAB 0 0 127.0.0.1:1080 127.0.0.1:32902 ESTAB 0 0 127.0.0.1:32894 127.0.0.1:1080 ESTAB 0 0 192.168.31.177:37334 89.42.31.211:1060 ESTAB 0 0 127.0.0.1:32906 127.0.0.1:1080 ESTAB 0 0 127.0.0.1:32910 127.0.0.1:1080 ESTAB 0 0 127.0.0.1:1080 127.0.0.1:32898 ESTAB 0 0 192.168.31.177:49443 60.227.167.98:24932 ESTAB 0 0 192.168.31.177:37346 89.42.31.211:1060 ESTAB 0 0 127.0.0.1:1080 127.0.0.1:32906 ESTAB 0 0 192.168.31.177:37338 89.42.31.211:1060 ESTAB 0 0 127.0.0.1:32902 127.0.0.1:1080 LISTEN 0 5 [::]:8999 [::]:*

查看所有tcp,udp,数字显示,显示pid $ ss -tuanp

查看所有tcp,udp,名称显示,显示pid $ ss -tuarp

其他命令: 'nc' means 'netcat', not 'netconsole'. Install gnu-netcat and try again. https://wiki.archlinux.org/index.php/Netconsole https://wiki.archlinux.org/index.php/Network_tools#Netcat https://en.wikipedia.org/wiki/Netcat https://www.archlinux.org/packages/?name=socat



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有