【操作系统之九】Linux常用命令之netstat
一、概念
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
二、命令格式
1、直接输入 netstat命令
[root@PCS101 logs]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp PCS101:ssh bdeadc--.ptr: ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix [ ] DGRAM /run/systemd/notify
unix [ ] DGRAM /run/systemd/cgroups-agent
unix [ ] DGRAM /run/systemd/journal/socket
......
(1)Active Internet connections,活动的Internet网络连接(TCP,UDP,raw)
Proto 连接使用的协议
Recv-Q 接收队列:连接此套接字的用户程序未拷贝的字节数
Send-Q 发送队列:远程主机未确认的字节数
Local Address 套接字的本地地址(本地主机名)和端口号。除非给定-n,--numeric选项,否则套接字地址按标准主机名(FQDN)进行解析,而端口到则转换到相应的服务名。
Foreign Address 套接字的远程地址(远程主机名)和端口号。
State 套接字的状态。因为在RAW协议中没有状态,而且UDP也不用状态信息,所以此行留空。通常为以下几个值之一:
ESTABLISHED 套接字有一个有效连接
SYN_SENT 套接字尝试建立一个连接
SYN_RECV 从网络上收到一个连接请求
FIN_WAIT1 套接字已关闭,连接正在断开
FIN_WAIT2 连接已关闭,套接字等待远程方中止。
TIME_WAIT 在关闭之后,套接字等待处理仍然在网络中的分组
CLOSED 套接字未用
CLOSE_WAIT 远程方已关闭,等待套接字关闭
LAST_ACK 远程方中止,套接字已关闭。等待确认
LISTEN 套接字监听进来的连接。如果不设置—listening(-l)或者—all(-a)选项,将不显示出来这些连接。
CLOSING 套接字都已关闭,而还未把所有输出发出
UNKNOWN 套接字状态未知
(2)Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto 连接使用的协议
RefCnt 表示连接到本套接口上的进程数量
Flags 显示的标志为SO_ACCEPTON(显示为ACC),SO_WAITDATA(W)或SO_NOSPACE(N)。如果相应的进程等待一个连接请求,那么SO_ACCECPTON用于未连接的套接字。其他标志通常并不重要
Type 显示套接口的类型
SOCK_DGRAM 此套接字用于数据报(无连接)模式
SOCK_STREAM 流模式(连接)套接字
SOCK_RAW 此套接字用于RAW模式
SOCK_RDM 一种服务可靠性传递信息
SOCK_SEQPACKET 连续分组套接字
SOCK_PACKET RAW接口使用套接字
UNKNOWN 未知
State 套接口当前的状态
FREE 套接字未分配
LISTENING 套接字正在监听一个连接请求。除非设置--listening(-l)或者--all(-a)选项,否则不显示。
CONNECTING 套接字正要建立连接
CONNECTED套接字已连接
DISCONNECTING 套接字已断开
(empty) 套接字未连。
UNKNOWN !不应当出现这种状态
I-Node
Path 连接到套接口的其它进程使用的路径名
2、常见参数
-a (all)显示所有选项,netstat默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。(重要)
-l 仅列出有在 Listen (监听) 的服务状态
-i 显示网卡列表
-p 显示建立相关链接的程序名(macOS中表示协议 -p protocol)
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计 (重要)
-c 每隔一个固定时间,执行该netstat命令。
-o 显示计时器
-g 显示组播组的关系
(1)列出所有端口 (包括监听和未监听的)
列出所有端口: netstat -a
列出所有tcp端口: netstat -at
列出所有udp端口: netstat -au
(2)列出所有处于监听状态的 Sockets
只显示监听端口: netstat -l
只列出所有监听tcp端口: netstat -lt
只列出所有监听udp端口: netstat -lu
只列出所有监听UNIX端口: netstat -lx
(3)显示每个协议的统计信息
显示所有端口的统计信息 netstat -s
显示TCP端口的统计信息 netstat -st
显示UDP端口的统计信息 netstat -su
(4)显示 PID 和进程名称
显示TCP端口进程 netstat -pt
显示UDP端口进程 netstat -pu
查看正在监听的tcp端口,并显示对应的监听程序 netstat -ntpl
查看正在监听的udp端口,并显示对应的监听程序 netstat -nupl
(5)不显示主机,端口和用户名 (host, port or user)
当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。该参数可以加速output的输出,因为不用进行比对查询。
(6)持续输出 netstat 信息
netstat 将每隔一秒输出网络信息。
netstat -t -c 2
(7)显示系统不支持的地址族 (Address Families)
netstat --verbose
(8)显示核心路由信息
netstat -rn
(9)找出程序运行的端口
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
netstat -apn | grep ssh
找出运行在指定端口的进程
netstat -an | grep ':22'
(10)显示网络接口列表
netstat -i
【操作系统之九】Linux常用命令之netstat的更多相关文章
- 【操作系统之七】Linux常用命令之tail
一.概念linux tail命令用途是按照要求将指定的文件的最后部分输出到标准设备,一般是终端,就是把某个档案文件的最后几行显示到终端上,如果该档案有更新,tail会自动刷新,确保你看到最新的档案内容 ...
- 【操作系统之四】Linux常用命令之awk
一.概念awk是一个报告生成器,拥有强大的文本格式化能力. 数据可以来自标准输入(stdin).一个或多个文件,或其它命令的输出: 依次对每一行进行处理,然后输出: 它在命令行中使用,但更多是作为脚本 ...
- 【操作系统之八】Linux常用命令之top
一.概念Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,且可以通过交互式命令自定义显示内容,类似于Windows的任务管理器. 二.命令格式 [root@PCS101 log ...
- 【操作系统之六】Linux常用命令之less
一.概念less 工具也是对文件或其它输出进行分页显示的工具,是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more .tail更加的有弹性.在 more 的时候,我们并没有 ...
- linux常用命令:netstat 命令
netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...
- 【操作系统之五】Linux常用命令之grep
一.概念grep(Global search Regular Expression and Print out the line)强大的文本搜索工具,从文本文件或管道数据流中筛选匹配的行及数据,并把匹 ...
- Linux操作系统安全-OpenSSL工具常用命令介绍
Linux操作系统安全-OpenSSL工具常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OpenSSL开源项目有三个组件 openssl: 多用途的命令行工具,包 ...
- linux常用命令与实例小全
转至:https://www.cnblogs.com/xieguohui/p/8296864.html linux常用命令与实例小全 阅读目录(Content) 引言 一.安装和登录 (一) ...
- Linux常用命令速查备忘
Linux常用命令速查备忘 PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...
随机推荐
- IDEA 调试 JAVA ConcurrentLinkedQueue
调试ConcurrentLinkedQueue 源码 poll() 方法时 ,出现了比较奇怪的现象,当时队列里有两个元素,如下截图, 但执行完 p.casItem(item, null)后,出现了令人 ...
- PIE SDK归一化水体指数法
1.算法功能简介 归一化指数法(NDWI(Normalized Difference Water Index,归一化水指数)),用遥感影像的特定波段进行归一化差值处理,以凸显影像中的水体信息. 其表达 ...
- linux系统shell基础知识入门二
条件判断语句 test或[],这两是等价的.但用[]这种可能看起来更简洁 必须在[符号和检查条件之间留出空格,而test命令之后也总是应该有一个空格 如果要把test 和then 放一行上,那么必须在 ...
- Spring Boot 实战 入门
目前没有系统学习过 Spring 框架,参与工作时,直接参与到了 Spring Boot 项目的开发.目前还比较菜,所以,你要是和我一样,不妨也跳过 Spring 框架的学习,直接学习 Sring B ...
- vue + yarn 创建项目
前期准备工作node,npm,vue,yarn等环境要准备好 1.命令行vue init webpack myproject 2.使用vs code打开项目文件夹, vs终端运行一下yarn 3.添加 ...
- docker 部署mysql redis
先介绍利用的两个数据卷挂载的规则,这对于理解挂载mysql数据库存储非常有帮助. 如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中. 如果挂载一个非空的数据卷到容 ...
- 【转载】Gradle学习 第二章:概述
转载地址:http://ask.android-studio.org/?/article/6 Here is a list of some of Gradle's features.<翻译> ...
- springboot日常问题处理手记
springboot启动问题 1.@Autowired报错Could not autowire. No beans of xxx 解决:只需在DAO接口加上@Component 或者 @Reposit ...
- 使用BCP从Sybase远程数据库中导出数据
1.在本机安装Sybase ASE 15,我装的开发版全套,懒得去仔细看需要哪个了 2.在Sybase安装目录里找到ini\sql.ini,在里面添加数据源例如: [MYDS] master=NLWN ...
- 201871010110-李华《面向对象程序设计(java)》第四周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...