netstat命令学习
转自:https://segmentfault.com/a/1190000022686430
1.介绍
netstat是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。
输出分为两个部分,
- Active Internet connections 有源TCP连接。协议是tcp,"Recv-Q"和"Send-Q"指接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
- Local Address代表本机IP地址和打开的端口号;
- Foreign Address是远程计算机IP地址和端口号;
- State:
- LISTENING 时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接;
- ESTABLISHED 的意思是建立连接。表示两台机器正在通信。
- CLOSE_WAIT 对方主动关闭连接或者网络异常导致连接中断,TIME_WAIT 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT;
- Active UNIX domain sockets 有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
其中,RefCnt:表示连接到本套接口上的进程号。
2.参数
- -a (all) 显示所有选项,将处于LISTEN的tcp连接也显示出来,因为默认是不显示LISTEN状态的。
- -t (tcp) 仅显示tcp相关选项。-u (udp) 仅显示udp相关选项。-l 仅列出有在 Listen (监听) 的服务状态。(LISTEN和LISTENING的状态只有用-a或者-l才能看到。)
- -n 拒绝显示别名,能显示数字的全部转化成数字。【如果使用这个参数的话,上图中local/foreign address都会变为ip,其实不太容易观察 】
- -p 显示建立相关链接的程序名.。【使用sudo可以观察到】
- -o可以查看和连接相关的定时器信息:https://blog.csdn.net/young_0609/article/details/103210340
最后的timer列相关字段含义如下:
- keepalive keepalive的时间计时;
- on 重发的时间计时;
- off 没有时间计时;
- timewait 等待时间计时
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-10-16 二分法时间复杂度计算
2020-10-16 lower_bound( )与upper_bound( )学习
2018-10-16 PAT 1095 Cars on Campus
2018-10-16 win10下的linux一些问题