专注于快乐的事情

查看发包的端口-netstat

#netstat

可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。

基本使用

netstat -an

参数

参数说明 说明
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig
-n 以网络IP地址代替名称,显示出网络连接情形。 -n 选项禁用域名解析功能
-r 显示核心路由表,格式同“route
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。

字段描述

用法举例

列出所有连接

列出所有当前的连接。使用 -a 选项即
netstat -a

netstat -an | grep LISTEN
netstat -an | grep ESTABLISHED

参数中state的含义如下所示

名称 说明
LISTEN 侦听来自远方的TCP端口的连接请求。
SYN_SENT 在发送连接请求后等待匹配的连接请求。
SYN_RECEIVED 在收到和发送一个连接请求后等待对方对连接请求的确认。
ESTABLISHED 代表一个打开的连接,我们常用此作并发连接数。
FIN_WAIT1 等待远程TCP连接中断请求,或先前的连接中断请求的确认。
FIN_WAIT2 从远程TCP等待连接中断请求。
CLOSE_WAIT 等待从本地用户发来的连接中断请求。
CLOSING 等待远程TCP对连接中断的确认。
LAST_ACK 等待原来发向远程TCP的连接中断请求的确认。
TIME_WAIT 等待足够的时间以确保远程TCP接收到连接中断请求的确认。
CLOSED 没有任何连接状态

只列出 TCP 或 UDP 协议的连接

使用 -t 选项列出 TCP 协议的连接
netstat -at

使用 -u 选项列出 UDP 协议的连接
netstat -au

禁用反向域名解析,加快查询速度

netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名。这会降低查找速度。如果你觉得 IP 地址已经足够,而没有必要知道主机名,就使用 -n 选项禁用域名解析功能

netstat -ant

只列出监听中的连接

任何网络服务的后台进程都会打开一个端口,用于监听接入的请求。这些正在监听的套接字也和连接的套接字一样,也能被 netstat 列出来。使用 -l 选项列出正在监听的套接字。
netstat -tnl

不要使用a

获取进程名、进程号以及用户 ID

使用 -p 选项查看进程信息
sudo netstat -nlpt

使用 -p 选项时,netstat 必须运行在 root 权限之下,不然它就不能得到运行在 root 权限下的进程名

sudo netstat -ltpe

-ep 选项可以同时查看进程名和用户名
假如你将 -n 和 -e 选项一起使用,User 列的属性就是用户的 ID 号,而不是用户名

所有网络包的统计情况

netstat -s
包含Icmp,ip,tcp等协议

显示多播组信息

netstat -g

找出运行在指定端口的进程

root用户
netstat -anop | grep 3306

参考

https://linux.cn/article-2434-1.html
http://blog.csdn.net/u013281361/article/details/52021993

评论系统未开启,无法评论!