| 网络可用性测试其实很简单,简单的说就是能上网即可。linux中提供了ping、route、traceroute、nslookup、netstat、dig、几个命令即可完整的测试网络的可用性。当然有mrt这样的组合工具,但是其不是所有主机上都有。 Ping 它通过向目标主机发送一个个数据包以及接受数据包的回应来判断主机和目标主机之间网络连接情况。ping的两个功能:判断网络是否可达、网络性能统计。 usage: ping 【选项】 目标主机或IP地址 descript: ping使用的是网络层的ICMP协议。 params:   -c设置数据包的数量   -s设置数据包的大小,,默认为64字节(包括8字节ICMP协议头、56字节测试数据、20字节IP协议头)   -t设置数据包的生存期(TTL)   -i设置数据包的间隔,默认为1s   -R记录路由过程   -r忽略普通的路由表,直接将数据包发送到远程主机上   -v详细显示命令的执行过程   -P设置填满数据包的范本样式   -f极限检测,以最小的间隔来测试   -I设置指定的网络接口发送数据包  example   # ping -c 2  www.baidu.com   PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.   64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=55 time=1.97 ms   64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=55 time=1.66 ms   报文尺寸目标设备主机名或IP 序号生存期  往返时间    --- www.a.shifen.com ping statistics ---统计信息摘要   2 packets transmitted, 2 received, 0% packet loss, time 1001ms   发送包数接受包数丢包率响应时间   rtt min/avg/max/mdev = 1.666/1.821/1.977/0.161 ms   应答计算最小值/平均值/最大值/ 
 netstat 是network  statistics的缩写,主要用于检测主机(本机)的网络配置和状况,用于查看与IP、TCP、UDP、ICMP协议相关的统计数据,可以查看显示网络连接(包括进站和出战)、系统路由表、网络接口状态等。 网络状态: 从客户端看其状态变化为:CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED 从服务端看其状态变化为:CLOSED->LISTEN->SYN_RECVD->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED 下面是个个状态的描述: *ESTABLISHED     The socket has an established connection.     套接字有一个已建立的连接。 *SYN_SENT     The socket is actively attempting to establish a connection.      套接字正在积极地尝试建立连接。 *SYN_RECV     A connection request has been received from the network.     已从网络接收到连接请求。 *FIN_WAIT1     The socket is closed, and the connection is shutting down.     套接字关闭,连接关闭。 *FIN_WAIT2     Connection is closed, and the socket is waiting for a shutdown from the remote end.     连接关闭,而套接字正在等待远程结束的关闭。 *TIME_WAIT     The socket is waiting after close to handle packets still in the network.     该套接字在接近处理网络中的数据包后等待。 *CLOSED     The socket is not being used.     套接字没有被使用。 *CLOSE_WAIT      The remote end has shut down, waiting for the socket to close.      远端关闭,等待套接字关闭。 *LAST_ACK     The remote end has shut down, and the socket is closed. Waiting for acknowledgement.     远端关闭,套接字关闭。等待确认。 *LISTEN     The  socket is listening for incoming connections.  套接字是监听传入的连接。 *CLOSING     Both sockets are shut down but we still don’t have all our data sent.     两个套接字都关闭了,但我们仍然没有所有的数据发送。 *UNKNOWN     The state of the socket is unknown.     套接字的状态未知。 
 useage: netstat 【选项】 descript:查看linux本机的状况 param:   -r——显示当前主机路由表信息   -a——显示当前所有开放的端口(比默认还要多几个)   -t——显示tcp传输协议的连接状况,等加于netstat | grep tcp 但-t更快   -u——显示udp传输协议的连接状况,等价于netstat | grep udp   -i——显示所有网络接口的统计信息表   -l——显示正处于监听状态的服务和端口   -p——显示正在使用端口的服务进程号和服务程序名称   -c——持续列出网络状态,监控连接情况   -n——以数字的形式显示IP地址和端口号   -e——显示以太网的统计信息,此项可以与a组合使用 example    $ netstat -atn   Active Internet connections (servers and established)   协议   收 送 本地地址与本地连接的远程主机地址连接状态   Proto Recv-Q Send-Q Local Address           Foreign Address         State         tcp        0      0 0.0.0.0:42081           0.0.0.0:*               LISTEN            tcp        0      1 172.30.0.54:47570       74.125.204.102:443      SYN_SENT        tcp        0      0 172.30.0.54:32840       165.254.134.121:80      ESTABLISHED   tcp        0      1 172.30.0.54:47568       74.125.204.102:443      SYN_SENT      tcp6       0      0 :::56937                :::*                    LISTEN           State——表示连接状态,           常见的状态有listen(表示监听状态,等待接收入站的请求)、           established(表示本机已经与其他主机建立好连接)、           time_wait(等待足够的时间以确保远程TCP接收连接中断请求的确认)、           syn sent(尝试发起连接)、           syn recv(接受发起的连接)等    # 查看所有连接   $ netstat -a   # 查看所有tcp连接   $ netstat -at   # 查看所有udp连接   $ netstat -au   # 查看所有unixsocket连接   $ netstat -ax   # 同时列出进场信息   $ netstat -ap   # 查看服务器当前的网络连接情况   $ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'   # 所有链接到本机的IP   $ netstat -nut | awk '$NF=="ESTABLISHED" {print $5}' | cut -d: -f1 | sort -u   # 查看网络监听   $ netstat -ntlp   $ netstat -nulp   $ netstat -nxlp   # 将会显示使用该端口的应用程序的进程id   $ netstat -nap | grep port    # 将会显示包括TCP和UDP的所有连接   $ netstat -a  or netstat –all   # 将会显示TCP连接      $ netstat --tcp  or netstat –t    # 将会显示UDP连接   $ netstat --udp or netstat –u    # 将会显示该主机订阅的所有多播网络。   $ netstat -g    # 有些服务器上没安装telnet等命名跟没有nmap,此时想看远程端口是否开放?   $ echo >/dev/tcp/8.8.8.8/53 && echo "open"   # 用netstat显示所有tcp4监听端口   $ netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*' 
 route (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |