netstat
来源:互联网 发布:mac 139邮彩云同步盘 编辑:程序博客网 时间:2024/05/16 01:08
netstat 命令可以帮助检查本机的网络状况,man netstat 可以看到对其的基本描述:
netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
显示tcp协议
先来一个简单的例子,要显示tcp协议,使用-t参数,包括了tcp和tcp6
netstat -tActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:59226 localhost:8527 ESTABLISHEDtcp 0 0 bogon:44385 117.79.93.222:http TIME_WAIT tcp 0 0 localhost:8527 localhost:59305 CLOSE_WAIT tcp 0 0 localhost:8527 localhost:59235 ESTABLISHEDtcp 0 1 bogon:36113 tf-in-f19.1e100.n:https SYN_SENT tcp 0 0 bogon:49941 117.79.93.196:http TIME_WAIT tcp 0 0 bogon:53574 117.79.93.208:http ESTABLISHEDtcp 0 0 localhost:59259 localhost:8527 ESTABLISHED
数量太多,只显示了一部分。
显示本地TCP协议
添加一个-l参数,会只显示监听本地端口的TCP程序,现在一下子程序少了很多。netstat -tlActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:8527 *:* LISTEN tcp 0 0 *:http *:* LISTEN tcp 0 0 localhost:domain *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:https *:* LISTEN tcp6 0 0 ip6-localhost:8527 [::]:* LISTEN tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN
显示IP地址
注意上面的Local Address一列,显示的不是ip地址,而是localhost, 如果想要显示IP地址,添加一个参数-nnetstat -tlnActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:8527 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN tcp6 0 0 ::1:8527 :::* LISTEN tcp6 0 0 ::1:631 :::* LISTEN
显示进程名称和ID
如果还想显示进程名称和ID,再添加一个参数-p
netstat -tlnpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 127.0.0.1:8527 0.0.0.0:* LISTEN 6506/ssh tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 889/nginx tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1268/dnsmasq tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 590/cupsd tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 889/nginx tcp6 0 0 ::1:8527 :::* LISTEN 6506/ssh tcp6 0 0 ::1:631 :::* LISTEN 590/cupsd
用grep查找进程
配合grep,就可以查找监听本地某端口的进程netstat -tlnp | grep 127.0.0.1:8527tcp 0 0 127.0.0.1:8527 0.0.0.0:* LISTEN 6506/ssh
用awk提取进程名称
配合awk,就可以快速找到进程名称
netstat -tlnp | grep 127.0.0.1:8527 | awk '{print $7}'7458/ssh
用awk提取进程id
再做一次awk查找,去掉斜线后面的,只保留进程idnetstat -tlnp | grep 127.0.0.1:8527 | awk '{print $7}' | awk -F '/' '{print $1}'7458
另外-a 参数代表显示所有连接,如果不用,则默认显示状态为connected的连接。
TCP连接状态详解 LISTEN: 侦听来自远方的TCP端口的连接请求SYN-SENT: 再发送连接请求后等待匹配的连接请求SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED: 代表一个打开的连接FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WAIT-2: 从远程TCP等待连接中断请求CLOSE-WAIT: 等待从本地用户发来的连接中断请求CLOSING: 等待远程TCP对连接中断的确认LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认CLOSED: 没有任何连接状态
查看UDP协议
将-t参数换成-u
- netstat
- netstat
- netstat
- netstat
- Netstat
- netstat
- netstat
- netstat
- netstat
- netstat
- netstat
- netstat
- netstat
- netstat
- netstat
- netstat
- netstat
- netstat
- Linux内核学习四库全书
- ADF11g-029:如何在每个页面加载之前运行一段java代码
- 用C语言写PHP扩展
- windows8应用开发分享
- 让google搜索每次都出现结果
- netstat
- 解决Excel数据导入sqlite中的中文乱码问题
- prim算法
- java.lang.OutOfMemoryError
- Hibernate中使用HQL的基础语法
- 遇到一个简单漏洞(sql注入)
- ubuntu 查找历史命令
- xcode的other linker flag的含义
- iOS 开发之应用首次启动显示用户引导