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 上的命令总会有些区别,使用时注意去查看自带手册。
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 上的命令总会有些区别,使用时注意去查看自带手册。
相关文章推荐
- ping, tracert和traceroute命令详解【转】
- ping, tracert和traceroute命令详解
- ping, tracert和traceroute命令详解【转】
- ping, tracert和traceroute命令详解【转】
- 网络命令:ping、ipconfig、tracert、netstat、arp
- ping, tracert和traceroute命令详解【转】
- 网络命令write,wall,ping,ifconfig,mail,last,lastlog,traceroute,netstat,setup
- Linux下ping命令、traceroute命令、tracert命令的使用
- ping, tracert和traceroute命令详解(转载)
- windows几个常见网络命令解析:ping, telnet, ssh, ftp/sftp, netstat, tracert, arp
- Linux下ping命令、traceroute命令、tracert命令的使用
- ping tracert netstat 命令解释
- ping, tracert和traceroute命令详解
- linux笔记:网络命令ping,traceroute,ifconfig,netstat;挂载和卸载命令mount,umount
- ssh命令、ping命令、traceroute 命令所使用的协议
- ping命令和tracert命令
- 网络测试常用的命令-比较ping,tracert和pathping等命令之间的关系
- ping-netstat-mtr-traceroute
- Tracert(traceroute)&Ping 工作原理分析
- ping和tracert命令详解