## **netstat**
netstat 是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接
输出网络连接、路由表、接口统计、伪装连接和组播成员
```
netstat [选项]
-n: 使用 IP 地址和端口号显示,不使用域名与服务名
-p: 显示 PID 和程序名
-t: 显示使用 TCP 协议端口的连接状况
-u: 显示使用 UDP 协议端口的连接状况
-l: 仅显示监听状态的连接
-a: 列出所有网络状态,包括 Socket 程序
-r: 显示路由表
-c 秒数: 指定每隔几秒刷新一次网络状态
```
>[success] 查看本机开启的端口
> netstat -tunl
这是本机最常用的方式,使用选项“-tuln”。因为使用了“-l”选项,所以只能看到监听状态的连接,而不能看到已经建立连接状态的连接

```
这个命令的输出较多。
Proto: 网络连接的协议,一般就是TCP 协议或者UDP 协议。
Recv-Q:表示接收到的数据,已经在本地的缓冲中,但是还没有被进程取走。
Send-Q:表示从本机发送,对方还没有收到的数据,依然在本地的缓冲中,一般是不具备ACK标志的数据包。
Local Address: 本机的 IP 地址和端口号。
Foreign Address:远程主机的 IP 地址和端口号。
State: 状态。常见的状态主要有以下几种。
LISTEN: 监听状态,只有TCP 协议需要监听,而UDP 协议不需要监听。
ESTABLISHED:已经建立连接的状态。如果使用“-l”选项,则看不到已经建立连接的状态。
SYN_SENT: SYN发起包,就是主动发起连接的数据包。
SYN_RECV: 接收到主动连接的数据包。
FIN_WAIT1: 正在中断的连接。
FIN_WAIT2: 已经中断的连接,但是正在等待对方主机进行确认。
TIME_WAIT: 连接已经中断,但是套接字依然在网络中等待结束。
CLOSED:套接字没有被使用。
在这些状态中,我们最常用的就是 LISTEN 和ESTABLISHED 状态,一种代表正在监听,另一种代表已经建立连接。
```
>[success] 查看本机有哪些程序开启的端口
> netstat -tunlp
如果使用“-p”选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的 PID。
>[success] 查看所有连接
> netstat -an
使用选项“-an”可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的
连接(ESTABLISHED)、Socket 程序连接等
从“Active UNIX domain sockets”开始,之后的内容就是 Socket 程序产生的连接,之前的内容都是网络服务产生的连接。
我们可以在“-an”选项的输出中看到各种网络连接状态,而之前的“-tuln”选项则只能看到监听状态。
>[danger] 根据进程ID查看进程信息
> ls -l /proc/1186
- 基础
- 文档帮助
- 计算机基础知识
- Centos文件系统
- Linux基础知识入门
- Linux命令帮助文档
- 常见命令
- 其他
- vim编辑器
- 编辑命令
- 末行模式
- 常见命令
- 配置文件
- 用户useradd
- 用户login.defs
- 环境变量设置
- 常用命令
- 帮助命令
- 管道符
- 关机和重启
- 目录操作
- 目录结构
- ls
- cd
- pwd
- mkdir
- rmdir
- cp
- rm
- mv
- 文件操作
- touch
- ln 重点
- stat 重点
- file
- cat
- tac
- nl
- more
- less
- head
- tail
- 文件处理工具
- wc
- cut
- sort
- uniq
- 文件属性(权限)
- chmod
- chown
- chgrp
- umask
- sudo权限
- chattr权限
- chattr
- lsattr
- 文件特殊权限
- SetUID
- SetGID
- StickyBIT粘着位
- ACL权限
- 搜索命令
- 命令搜索whereis
- grep
- 拓展
- 元字符
- egrep
- locate
- find
- type
- 压缩和解压
- zip和unzip
- gzip和gunzip
- bzip2和bunzip2
- tar
- 网络管理
- netstat网络状态
- 消息邮件
- 软件包安装
- 源码包
- 二进制包
- rpm手工安装
- yum在线安装
- 系统管理
- 常用命令
- shell内建命令
- pstree
- bash 特性
- history 历史命令
- 补全、快捷键
- 命令行展开
- 命令执行结果
- alias命令别名
- 通配符
- 重定向及管道
- 计算机运算
- bash 中的变量的种类
- bash 的配置文件
- bash中的算术运算
- bash条件测试
- 用户和组管理
- 用户管理
- useradd
- usermod
- userdel
- passwd
- pwck
- chage
- chsh
- chfn
- id
- finger
- su
- 用户组管理
- groupadd
- groupmod
- groupdel
- gpasswd
- groups
- 用户查看
- whoami
- w
- who
- last
- lastlog
- lastb
- 网络管理
- 相关命令
- 防火墙
- 文件拷贝
- 软件工具
- 软件包管理
- Gcc软件安装
- 其他
- redis
- 相关资料
- swoole
- IDE工具
- vscode + Xdebug 断点调试
- vscode 远程链接
- git
- 不想输入账户密码
- window电脑问题
- 浏览器https访问不了
- php
- 常用函数
- rabbitMQ
- mysql
- 触发器
- 常用更新语句
- 忘记密码处理方法
- 查询
- 数据迁移
- 加索引不加锁
- 查询优化
- 基础知识
- 进程线程协程
- tp6
- 注册自定义命令空间
- Ajax异常错误
- nginx
- 域名变成ip问题
- 概念知识点
- QPS,TPS,RT概念
- Nginx服务大量TIME-WAIT
