网络检测-其它测试–netstat|ss使用详解

一、netstat简介

  netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。
二、常见参数
-a #(all)显示所有选项,默认不显示LISTEN相关
-t #(tcp)仅显示tcp相关选项
-u #(udp)仅显示udp相关选项
-n #拒绝显示别名,能显示数字的全部转化成数字。
-l #仅列出有在 Listen (监听) 的服務状态

-p #显示建立相关链接的程序名
-r #显示路由信息,路由表
-e #显示扩展信息,例如uid等
-s #按各个协议进行统计
-c #每隔一个固定时间,执行该netstat命令。

三、常用使用案例

安装软件
yum install net-tools  #Centos7
1、列出所有端口 (包括监听和未监听的)
netstat -a  #列出所有监听的连接
netstat -at  #列出所有 tcp 端口
netstat -au  #列出所有 udp 端口
2、列出所有处于监听状态的连接
netstat -l  #只显示监听端口
netstat -lt  #只列出所有监听 tcp 端口
netstat -lu  #只列出所有监听 udp 端口
netstat -p  #在 netstat 输出中显示 PID 和进程名称
netstat -an  #在 netstat 输出中不显示主机,端口和用户名 (host, port or user)
netstat -c  #动态持续输出 netstat 信息


3、常用场景
netstat -antp|grep LISTEN   #查看本机上有哪些TCP协议端口服务正在监听,可以根据最后一列进程号找到对应的进程名称
netstat -ant|wc -l           #统计本机的TCP连接数
netstat -ant|grep '端口号'  #查看特定端口的连接状态,还可以加wc -l做统计
也可以查看特定服务有哪些连接来源,第五列是对端连接IP和端口,可以结合awk命令进行过滤统计

3、netstat 在windows上的应用

netstat -an -p tcp|findstr 3389

4、ss命令的使用

ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
ss即将完全替代netstat,参数几乎完全兼容,功能更强大,显示更友好。
命令参数:
-h, --help 帮助信息
-V, --version 程序版本信息
-n, --numeric 不解析服务名称
-r, --resolve 解析主机名
-a, --all 显示所有套接字(sockets)
-l, --listening 显示监听状态的套接字(sockets)
-o, --options 显示计时器信息
-e, --extended 显示详细的套接字(sockets)信息
-m, --memory 显示套接字(socket)的内存使用情况
-p, --processes 显示使用套接字(socket)的进程
-i, --info 显示 TCP内部信息
-s, --summary 显示套接字(socket)使用概况
-4, --ipv4 仅显示IPv4的套接字(sockets)
-6, --ipv6 仅显示IPv6的套接字(sockets)
-t, --tcp 仅显示 TCP套接字(sockets)
-u, --udp 仅显示 UCP套接字(sockets)
使用实例:
显示TCP连接
ss -t -a
匹配远程地址和端口号
ss dst 192.168.25.115:8777
判断题
1、netstat -antp 可以查看tcp端口的监听情况
2、netstat -anu|grep 53 可以查看udp 53 端口的监听情况