您的位置:首页 > 其它

netstat, traceroute(tracert), ping 必备命令

2012-05-26 15:49 405 查看
一 netstat 查看网络路由、连接、socket状态

debian:/# netstat --help

usage:

netstat [-vWeenNcCF] [<Af>] -r netstat {-V|--version|-h|--help}

netstat [-vWnNcaeol] [<Socket> ...]

netstat { [-vWeenNac] -i | [-cWnNe] -M | -s }

-r, --route display routing table

-i, --interfaces display interface table

-g, --groups display multicast group memberships

-s, --statistics display networking statistics (like SNMP)

-M, --masquerade display masqueraded connections

-v, --verbose be verbose

-W, --wide don't truncate IP addresses

-n, --numeric don't resolve names

--numeric-hosts don't resolve host names

--numeric-ports don't resolve port names

--numeric-users don't resolve user names

-N, --symbolic resolve hardware names

-e, --extend display other/more information

-p, --programs display PID/Program name for sockets

-c, --continuous continuous listing

-l, --listening display listening server sockets

-a, --all, --listening display all sockets (default: connected)

-o, --timers display timers

-F, --fib display Forwarding Information Base (default)

-C, --cache display routing cache instead of FIB

<Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom

<AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: inet

List of possible address families (which support routing):

inet (DARPA Internet) inet6 (IPv6) x25 (CCITT X.25)

如:netstat -ano

参数a表示显示本机所有的连接与监听端口;n表示以数字的形式显示地址和端口;o表示显示与连接、监听端口相关的进程ID。

Proto Local Address Foreign Address State PID

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 524
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1028
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 1288
TCP 127.0.0.1:1049 0.0.0.0:0 LISTENING 3276
TCP 127.0.0.1:2656 127.0.0.1:2657 ESTABLISHED 3464
TCP 127.0.0.1:2657 127.0.0.1:2656 ESTABLISHED 3464
TCP 127.0.0.1:2660 127.0.0.1:2661 ESTABLISHED 3464
TCP 127.0.0.1:2661 127.0.0.1:2660 ESTABLISHED 3464
TCP 192.168.1.98:139 0.0.0.0:0 LISTENING 4
TCP 192.168.1.98:1472 202.111.148.133:80 CLOSE_WAIT 176
TCP 192.168.1.98:2822 60.28.250.204:80 TIME_WAIT 0
TCP 192.168.1.98:2831 60.28.250.204:80 TIME_WAIT 0
TCP 192.168.1.98:2838 60.28.250.204:80 ESTABLISHED 3464
TCP 192.168.1.98:2839 60.28.250.204:80 ESTABLISHED 3464
TCP 192.168.1.98:2843 74.125.165.37:80 ESTABLISHED 3464
UDP 0.0.0.0:445 *:* 4
UDP 0.0.0.0:500 *:* 804
UDP 0.0.0.0:1025 *:* 552

  对上面的显示结果解释如下:

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 524

  TCP表示使用的传输层协议是TCP;0.0.0.0:80表示本机上的任意地址,端口是80,即web server;0.0.0.0:0表示接受任意地址的连接,端口任意随机;LISTENING表示处于监听状态;524表示进程ID是524。这条结果就告诉我们,本地有web服务器程序在运行,其进程ID是524,在80端口上监听来自任意地址计算机的访问。由上面的结果显示本机有六个端口处于监听状态,它们分别是:80(Web Server)、135、139、445(Netbios Over TCP/IP)、3306(MySQL Server)、1049(Windows的alg进程),它们随时接受其它计算机建立连接、接受访问。

TCP 127.0.0.1:2656 127.0.0.1:2657 ESTABLISHED 3464

  上面这条结果表示本机中的firefox(3464)进程建立了一个TCP连接。 ESTABLISHED表示已经建立了连接。

TCP 192.168.1.98:2838 60.28.250.204:80 ESTABLISHED 3464

  上面这条结果表示本机(192.168.1.98)使用2838端口与远程web服务器(60.28.250.204)的80端口建立了连接,由进程ID 3464可以看出,这条连接是由Firefox(火狐浏览器)建立的。

TCP 192.168.1.98:2822 60.28.250.204:80 TIME_WAIT 0

  上面这条结果表示本机(192.168.1.98) 在2MSL(4分钟)后拆除与远程(60.28.250.204)web服务器的连接。

关于tcp各状态的讲解参见优秀博文:http://my.oschina.net/guol/blog/48543 (TCP/IP协议状态学习)

二 traceroute 显示两个网络(或计算机)之间的真实路径,在网络管理中可以帮助我们判断网络链路状态

traceroute 202.108.22.43

1 1 ms <1 ms <1 ms 10.63.254.1
2 1 ms 2 ms 2 ms 10.56.1.25
3 1 ms 1 ms 1 ms 10.56.0.2
4 1 ms 1 ms 1 ms 10.56.0.9
5 1 ms 1 ms 1 ms pc0.zz.ha.cn [218.28.83.193]
6 1 ms 1 ms 1 ms pc165.zz.ha.cn [61.168.154.165]
7 6 ms 6 ms 6 ms pc137.zz.ha.cn [61.168.253.137]
8 20 ms 20 ms 21 ms hn.kd.smx.adsl [221.13.223.77]
9 25 ms 25 ms 25 ms 219.158.7.89
10 18 ms 18 ms 19 ms 123.126.0.162
11 25 ms 25 ms 25 ms bt-227-166.bta.net.cn [202.106.227.166]
12 25 ms 25 ms 25 ms 61.148.3.34
13 17 ms 18 ms 17 ms 202.106.43.174
14 24 ms 24 ms 24 ms xd-22-43-a8.bta.net.cn [202.108.22.43]

Trace complete.

上面这条命令显示出了10.63.254.0/24网段到主机202.108.22.43之间的真实路径。

解释:

当键入命令并回车后,本机会向目的地址202.108.22.43发送一个ICMP数据包 IP数据包头的TTL值为1,ICMP报头的 TYPE值为8,Code值为0,即这个ICMP数据包是Echo Request(回送请求),由于TTL值为1,这个ICMP数据包到达网关时,就会因TTL值为0而失效,不再向下一跳节点传输,并由网关向本机关发送一个ICMP数据包,告诉本机,数据包到达本节后TTL=0,不再向目的地传送,这个由网关回传的ICMP数据包中TYPE=11,CODE=0,并且包含了本机第一次发送的完整的ICMP数据包(回传的ICMP数据包的TTL恒为1,意思是我收到的这个数据包的TTL=1,减1后为0,生命周期结束,不能再向下传)。

然后主机尝试发送TTL=2的回送请求数据包,此包被10.56.1.25 接收并发送源地址为10.56.1.25的echo包。

继续递增TTL直到最终传送到202.108.22.43上,这样就可以得知本机到达202.108.22.43节点的实际路径。

所以打印出来的ip地址顺序是从近及远的。

关于命令的详细执行过程可使用wireshark分析, wireshark官方网站:http://www.wireshark.org/

三 ping

PING 是Packet Internetwork Groper缩写,中文意思是因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答,如每发送一个Echo请求,能及时地收到回答,这表明网络是通畅的,由于可以利用ping命令对计算机进行攻击,DOS(拒绝服务)攻击, 因此,防火墙会把ICMP Echo请求数据包丢弃掉,会收timeout(超时)的信息。(有时网络是通的,但是会timeout的原因吧)。

附:

windows 和 linux 上的命令总会有些区别,使用时注意去查看自带手册。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: