网络排错与查看命令——查看本机的网络连接与后门:netstat
1.前言
如果某个网络服务明明已经启动了,但是就是无法进行连接,那该怎么办呢?
首先应该查询一下网络接口所监听的端口(port),来看看是否真的已经启动,有时候显示ok并不一定就是真的ok了
2.使用格式如下
netstat -[rn] 与路由有关的参数
netstat -[antlupc] 与网络接口有关的参数
与路由(route)有关的参数说明
-r | 列出路由表(route table),功能如同route这个命令 |
---|---|
-n | 不使用主机名与服务名称,使用IP与port number,如同route -n |
与网络接口有关的参数
-a | 列出所有的连接状态,包括tcp/udp/nuix socket 等等 |
---|---|
-t | 仅列出TCP数据包的连接 |
-u | 仅列出UDP数据包的连接 |
-l | 仅列出已在Listen(监听)的服务的网络状态 |
-p | 列出PID与Program的文件名 |
-c | 可以设置几秒钟后自动更新一次,例如 -c 5 为每5s更新一次网络状态的显示 |
3.举例如下
示例一:列出当前的路由表状态,并且以IP以及port number进行显示
其实这个参数就和route -n一模一样,但这不是netstat的主要功能
示例二:列出当前的所有网络连接状态,使用IP与port number
netstat的输出主要分为两大部分,分别是TCP/IP的网络接口部分,以及传统的Unix socket部分
通常都需要加上-n这个选项,可以避免主机名与服务名称的反复查看
直接以IP以及端口号码(port number)来显示,显示的速度就会很多!!!
示例三:显示出目前已经启动的网络服务
上面最重要的其实是那个-l的参数,因为可以仅仅列出处于Listen状态的port
总结:我们可以发现很多的网络服务其实仅仅针对本机的lo开放而已,因特网是连接不到该端口与服务的
示例四:查看本机上所有的网络连接状态
必须明白:client端是随机开放一个大于1024的port进行连接,此外只有root可以启动小于1024的port
如果想要断开一条连接,可以直接kill掉就可以啦