这里记录一下,linux下的一些网络调试命令。
测试到达目的主机的网络是否连接,但ping无法检查系统端口是否开放
检查某个端口是否开放
检测发出数据包的主机到目标主机之间所经过的网关数量
traceroute
的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP
的应答。
程序利用增加存活时间(TTL)
值来实现其功能。每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并传送一个ICMP TTL
数据包给原数据包的发出者
1
| traceroute www.google.com
|
判断连接是否健康
查看服务器端口有没有客户端来连接
1
| netstat -anp | grep xxxx
|
查看到进程id
之后,使用netstat
命令查看其占用的端口
查看tcp连接数及状态
1
| netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
|
1 2 3 4 5 6
| LAST_ACK 5 SYN_RECV 30 ESTABLISHED 15 FIN_WAIT1 51 FIN_WAIT2 5 TIME_WAIT 10
|
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT表示处理完毕,等待超时结束的请求数。
LAST_ACK:等待所有分组死掉
No dejes camino viejo por sendero nuevo.