• Linux常用命令——常用网络命令【二】


    四、netstat 命令

    netstat是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。
    在CentOS7.x中netstat命令默认没有安装,如果需要使用,需要安装net-snmp和net-tools软件包。(CentOS6中自动安装)

    1、netstat命令的基本信息如下。

    • 命令名称:netstat。
    • 英文原意:Print network connections,routing tables,interface statistics,masquerade connections,and multicast memberships。
    • 所在路径:/bin/netstat。
    • 执行权限:所有用户。
    • 功能描述:输出网络连接、路由表、接口统计、伪装连接和组播成员。
    1. 命令格式如下:
    2. [rootelocalhost ~] # netstat [选项]
    3. 选项:
    4. -a:列出所有网络状态,包括 Socket程序
    5. -c秒数:指定每隔几秒刷新一次网络状态
    6. -n:使用IP地址和端口号显示,不使用域名与服务名
    7. -p:显示PID和程序名
    8. -t:显示使用TCP协议端口的连接状况-u:显示使用UDP协议端口的连接状况
    9. -1:仅显示监听状态的连接
    10. -r:显示路由表

    2、例子1:查看本机开启的端口

    这是本机最常用的方式,使用选项-tuln。因为使用了-l选项,所以只能看到监听状态的连接,而不能看到已经建立连接状态的连接。例如:

    这个命令的输出较多。

    • Proto:网络连接的协议,一般就是TCP协议或者UDP协议。
    • Recv-Q:表示接收到的数据。已经在本地的缓冲中,但是还没有被进程取走。
    • Send-Q:表示从本机发送,对方还没有收到的数据。依然在本地的缓冲中,一般是不具备ACK标志的数据包。
    • Local Address:本机的IP地址和端口号。
    • Foreign Address:远程主机的IP地址和端口号。
    • State:状态。常见的状态主要有以下几种。
      • LISTEN:监听状态,只有TCP协议需要监听,而UDP协议不需要监听。
      • ESTABLISHED:已经建立连接的状态。如果使用“-l”选项,则看不到已经建立连接的状态。
      • SYNSENT:SYN发起包,就是主动发起连接的数据包。
      • SYNRECV:接收到主动连接的数据包。
      • FINWAIT1:正在中断的连接。
      • FINWAIT2:已经中断的连接,但是正在等待对方主机进行确认。
      • TIMEWAIT:连接已经中断,但是套接字依然在网络中等待结束。
      • CLOSED:套接字没有被使用。

    在这些状态中,我们最常用的就是LISTENESTABLISHED状态,一种代表正在监听,另一种代表已经建立连接。

    3、例子2:查看本机有哪些程序开启的端口

    如果使用“p”选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的PID。例如:

    4、例子3:查看所有连接

    使用选项“-an”可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的连接(ESTABLISHED)、Socket程序连接等。因为连接较多,所以输出的内容有很多。例如:

    从“Active UNIX domain sockets”开始,之后的内容就是Socket程序产生的连接,之前的内容都是网络服务产生的连接。我们可以在“-an”选项的输出中看到各种网络连接状态,而之前的“-tuln”选项则只能看到监听状态。

    5、例子4:查看网关地址

    ifconfig命令只能看到IP地址,Mac地址,子网掩码。如下图

    但是我们并不同通过ifconfig命令查看到网关,如果需要查看网关地址,就需要用到netstat 命令。如下图
    执行命令:netstat -rn

    重点:配套学习资料和视频教学

    那么在这里我也精心准备了上述大纲的详细资料在下方链接如下

     

  • 相关阅读:
    【学习笔记】Linux文件编译调试相关(问题未解决)
    一文带你看透短信验证码
    基于LUT查找表方法的图像gamma校正算法FPGA实现,包括tb测试文件和MATLAB辅助验证
    Hive面试题系列第七题-同时在线问题
    LeetCode_栈_困难_227.基本计算器(不含乘除)
    c++四种强制类型转换
    SpringBoot 项目实战 ~ 8.移动端(用户端)管理
    vue封装带确定、取消按钮的弹窗和提示组件,可用promise回调
    机器学习-线性回归 二维问题
    2-MySQL数据库基本操作(登录,服务管理,数据库管理)
  • 原文地址:https://blog.csdn.net/m0_59868866/article/details/126256668