ubuntu学习网络相关命令之netstat

来源:岁月联盟 编辑:exp 时间:2011-09-26

netstat的常用选项选项详解
-n 直接显示ip地址以及端口,不解析
   否则会将端口解析为:解析80为www,22为ssh,13为daytime
   将IP解析为127.0.0.1 localhost, 0.0.0.0为*
-l 显示出处于listening中的连接(只有通过-l或-a才能看到处于listion状态的连接)
-p 显示出socket所属的进程PID 以及进程名字(需要有root权限才可以)
-t 显示tcp
-u 显示udp
-w 显示raw
-a Show both listening and non-listening sockets
    显示处于任何状态中的tcp连接,否则只显示非liston状态的tcp

举例1: sudo netstat -nplt
含义:显示采用tcp协议,正在侦听中的进程的绑定端口以及IP信息,数字方式显示ip以及host,显示进程的pid以及进程名。

举例2: sudo netstat -npltu
含义:显示采用tcp协议或者udp协议,正在侦听中的进程的绑定端口以及IP信息,数字方式显示ip以及host,显示进程的pid以及进程名。

举例3:sudo netstat -natp
含义:显示采用tcp协议,正在侦听中或已经建立连接的进程的绑定端口以及IP信息,数字方式显示ip以及host,显示进程的pid以及进程名。

netstat的其他选项
-i 显示网络接口表
-s 显示网络统计信息, 各个协议发了多少包,收了多少包。
-r 显示路由表

netstat的一些输出字段解释
Recv-Q : socket接收到,却没有被进程取走的数据(字节单位)
Send-Q : socket发送出去,却没有收到远程对方确认的数据(字节单位)

1)查询哪个进程占了80端口
同下

2)如果PC有多个网卡,查看绑定了外网网卡IP的进程。
netstat -npl|grep 0.0.0.0   // 0.0.0.0表示绑定每一个网卡,包括外网网卡和内网网卡
netstat -npl|grep 外网_IP

作者“paggywong”