Netstat命令完整指南

Netstat命令完整指南

目录

简介

基础用法

连接状态

实用案例

故障排查

现代替代工具

简介

netstat(network statistics)是一个功能强大的网络诊断工具,用于显示网络连接、路由表、接口统计等网络相关信息。本指南将帮助您掌握netstat的使用方法,从基本的端口监控到复杂的网络故障排查。

主要功能:

显示网络连接状态

查看端口占用情况

监控网络接口统计

查看路由表信息

分析网络协议统计

注意:在较新的Linux系统中,推荐使用ss命令替代netstat,性能更好且功能更强大。

基础用法

常用选项

选项

说明

示例

-t

显示TCP连接

netstat -t

-u

显示UDP连接

netstat -u

-l

只显示监听的端口

netstat -l

-n

不解析名字

netstat -n

-p

显示进程信息

netstat -p

基本命令示例

查看所有TCP连接:

netstat -at

查看监听的端口:

netstat -tulpn

查看统计信息:

netstat -s

连接状态

TCP连接状态说明

状态

说明

LISTEN

服务器在监听端口,等待客户端连接

ESTABLISHED

正常数据传输状态

TIME_WAIT

连接已关闭,等待清理

CLOSE_WAIT

等待本地用户关闭连接

SYN_SENT

客户端尝试建立连接

状态监控示例:

查看ESTABLISHED连接数:

netstat -ant | grep ESTABLISHED | wc -l

查看TIME_WAIT连接数:

netstat -ant | grep TIME_WAIT | wc -l

实用案例

端口占用检查

查看特定端口:

netstat -tulpn | grep :80

查看占用端口的进程:

netstat -tulpn | grep LISTEN

连接统计

统计各种状态的连接数:

netstat -ant | awk '{print $6}' | sort | uniq -c | sort -rn

查看连接到特定IP的连接数:

netstat -ant | grep "192.168.1.1" | wc -l

网络接口统计

查看网络接口统计:

netstat -i

查看详细的接口统计:

netstat -ie

故障排查

常见问题分析

排查要点:

大量TIME_WAIT连接可能导致端口耗尽

过多CLOSE_WAIT可能表示应用程序问题

SYN_RECV过多可能是遭受SYN攻击

问题定位脚本

监控连接状态变化:

#!/bin/bash

while true; do

echo "$(date) - Connection States:"

netstat -ant | awk '{print $6}' | sort | uniq -c

sleep 5

done

性能优化建议

优化方向:

调整TCP参数处理TIME_WAIT

优化应用程序的连接处理

合理配置连接超时时间

现代替代工具

ss命令

替代netstat的常用命令:

# 列出所有连接

ss -ta

# 查看监听端口

ss -tulpn

# 查看连接状态统计

ss -s

其他网络工具

工具

用途

优势

nstat

网络统计

更详细的网络计数器

ip

网络配置

替代ifconfig的现代工具

lsof

端口占用

更全面的文件和端口信息

相关文章

女子气功
约彩365官网

女子气功

⌛ 10-28 👁️‍🗨️ 4007
随机抽签转盘
约彩365官网

随机抽签转盘

⌛ 07-07 👁️‍🗨️ 4876