Netstat 是一个用于显示网络连接、路由表、接口统计等信息的命令行工具。它在 Linux 和其他类 Unix 系统中都有提供,可以帮助我们分析和诊断网络问题。本文将介绍 Netstat 命令的基本用法和常见选项。

Netstat 命令的语法

Netstat 命令的基本语法如下:

netstat [选项] [地址族]

其中,选项可以用来指定显示的信息类型和格式,地址族可以用来过滤显示的协议类型,如 inet(IPv4)、inet6(IPv6)、unix(Unix 域套接字)等。如果不指定地址族,则默认显示所有协议类型的信息。

Netstat 命令的常见选项

Netstat 命令有很多选项,可以根据不同的需求进行组合使用。下面列举一些常见的选项及其含义:

  • -a:显示所有套接字(socket),包括监听(listening)和非监听(non-listening)的。
  • -l:只显示监听状态的套接字。
  • -n:以数字形式显示地址和端口,不进行域名或服务名的解析。
  • -p:显示每个套接字对应的进程标识符(PID)和程序名。
  • -t:只显示 TCP 协议的套接字。
  • -u:只显示 UDP 协议的套接字。
  • -r:显示路由表(routing table)。
  • -i:显示网络接口(network interface)的统计信息。
  • -s:显示网络协议的统计信息。

Netstat 命令的示例

下面给出一些使用 Netstat 命令的示例,以便更好地理解其用法。

显示所有 TCP 连接

netstat -at

这个命令会显示所有 TCP 协议的套接字,包括本地地址(Local Address)、远程地址(Foreign Address)和连接状态(State)。例如:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN
tcp        0      0 192.168.1.100:ssh       192.168.1.101:49210     ESTABLISHED
tcp        0      0 192.168.1.100:49212     172.217.160.78:https    ESTABLISHED

其中,LISTEN 表示监听状态,ESTABLISHED 表示已建立连接,其他可能的状态还有 SYN_SENT、SYN_RECV、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、CLOSE、CLOSE_WAIT、LAST_ACK、CLOSING 等。

显示所有 UDP 连接

netstat -au

这个命令会显示所有 UDP 协议的套接字,包括本地地址和远程地址。例如:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*
udp        0      0 localhost:domain        0.0.0.0:*
udp        0      0 192.168.1.100:ntp       0.0.0.0.0:*
udp 0 0 192.168.1.100:mdns 0.0.0.0:*

其中,bootpc 表示 DHCP 客户端端口,domain 表示 DNS 服务端口,ntp 表示网络时间协议(Network Time Protocol)端口,mdns 表示多播 DNS(Multicast DNS)端口。

显示所有监听套接字

netstat -l

这个命令会显示所有监听状态的套接字,包括 TCP 和 UDP 协议的。例如:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*
udp        0      0 localhost:domain        0.0.0.0:*
udp        0      0 192.168.1.100:mdns      0.0.0.0:*

显示所有套接字及其对应的进程

netstat -p

这个命令会显示所有套接字及其对应的进程标识符(PID)和程序名,如果有权限的话。例如:

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        1      1 localhost:49214         localhost:domain        CLOSE_WAIT  -
tcp        1      1 localhost:49216         localhost:domain        CLOSE_WAIT  -
tcp        1      1 localhost:49218         localhost:domain        CLOSE_WAIT  -
tcp        1      1 localhost:49220         localhost:domain        CLOSE_WAIT  -
tcp        1      1 localhost:49222         localhost:domain        CLOSE_WAIT  -
tcp        1      1 localhost:49224         localhost:domain        CLOSE_WAIT  -
tcp        1      1 localhost:49226         localhost:domain        CLOSE_WAIT  -
tcp        1      1 localhost:49228         localhost:domain        CLOSE_WAIT

如何在Linux中显示网络连接、路由表、接口统计等信息?Netstat了解一下!相关推荐

  1. 怎么把dll库写成MATLAB接口,如何在Matlab中应用动态连接库接口技术

    1 引言 Matlab是当前应用最为广泛的数学软件,具有强大的数值计算.数据分析处理.系统 分析.图形显示甚至符号运算等功能.利用这一完整的数学平台,用户可以快速实现十分 复杂的功能,极大地提高工程分 ...

  2. Linux指定网卡优先级,如何在Ubuntu中设置网络连接的优先级?

    问题描述 如果将Ubuntu 11.04计算机同时连接到WiFi和3G,如何设置优先级以使应用程序(浏览器等)首先使用WiFi?如果不可用,则应使用3G. 基本上,我想设置网络连接的使用顺序. 编辑: ...

  3. linux如何配置网络设置_如何在Linux中配置网络

    linux如何配置网络设置 将Linux计算机连接到网络非常简单,除非不是这样. 在本文中,我讨论了基于Red Hat的Linux发行版的主要网络配置文件,并介绍了两个网络启动服务:古老的网络启动和有 ...

  4. linux 桌面显示天气,如何在Linux中显示天气条件作为壁纸 | MOS86

    配件 - WeatherPaper 你应该看到你的桌面壁纸立即改变,以反映当前的天气状况. 要配置weatherpaper脚本,请转到您也可以使其在启动时运行. Location 您是在哪里输入您的位 ...

  5. Linux显示txt文件,如何在Linux中显示文本文件中的某些行?

    sed -n '10000000,10000020p' filename 你可能能够加快这一点: sed -n '10000000,10000020p; 10000021q' filename 在这些 ...

  6. linux tun内核配置,如何在linux中正确配置tun / tap接口?

    基本上我正在尝试创建自定义TCP堆栈.您可能知道我不能使用eth0,因为Linux内核TCP堆栈使用它,因为我需要创建一个tun / tap接口并将其用于我的自定义TCP堆栈. 的/ etc /网络/ ...

  7. linux netstat Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

    在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告. Netstat ...

  8. Linux 初学者:如何在 Ubuntu 中重启网络

    Ubuntu 初学者:如何在 Ubuntu 中重启网络 01通过命令行方式重启网络 1.network manager 服务 2.systemd 3.nmcli 4.ifup & ifdown ...

  9. 如何在linux中连接sybase数据库

    如何在linux中连接sybase数据库 要在Linux中连接Sybase数据库,需要使用Sybase客户端工具(例如isql或bcp)以及Sybase库文件和驱动程序.以下是一些基本步骤: 1.安装 ...

最新文章

  1. 融合变形三维插件想法
  2. 如何改变“便宜没好货”的这类用户心理?
  3. 安卓案例:Volley用法演示
  4. 你不知道的《阿里巴巴Java开发手册》背后故事
  5. 蚂蚁金服做区块链:我们绝不发空气币,要做就服务民生!
  6. WORD中的格式控制符号
  7. 使用Vue开发Chrome插件
  8. Word、WPS 文字背景颜色无法去除
  9. SDK是什么?与API有什么关系?
  10. iOS 【奇巧淫技】获取webView内容高度
  11. Anaconda3 安装失败 failed to create menus
  12. python 对txt中每行内容进行批量替换
  13. 剪切文件丢失如何恢复
  14. 记录一次重装win10系统后,没有1920*1080分辨率的问题
  15. 数据分析-思维分析逻辑day01
  16. 【DNS】Windows查看和清理DNS缓存
  17. 布隆过滤器之误识别率FPP公式的推导
  18. 大数据分析——点“数”成金
  19. 导航栏的返回文字修改
  20. matlab工具箱使用总结

热门文章

  1. c#OleDbConnection 类和DbConnection
  2. W25Q128更新片内字库
  3. NYOJ 248 BUYING FEED (贪心)
  4. 详谈短信开发-SMPP的长短信协议展开格式
  5. Node.js(黑马)笔记02--mongodb数据库操作
  6. Unexpected exception parsing XML document from file
  7. 微信、iOS、安卓如何安装SSL证书实现HTTPS加密
  8. python _ 统计红楼梦人员姓名出现次数
  9. 【ClickHouse系列】ClickHouse之zk目录结构说明
  10. java1000以内的阶乘_[无聊]做一下1000的阶乘