环境:内网,未安装测试工具telnet
1、网络连通性测试
网络连通性最常用命令ping,也可以使用traceroute(tracert)。
注意
ping在Windows系统和linux系统下有区别:不带参数Windows是只ping四次,linux是一直ping。某些参数有些不同,比如包大小windows是-l linux系统是-s。如果主机设置的关闭ICMP包,就无法使用ping获取是否通。
可以尝试使用traceroute ,此命令是查看路由路径信息。
如下第一个是不通,第二个是通
如果安装了nmap,nmap -sA【发生tcp的ack包 探测主机存活状态】 -sP【使用ping扫描】 -sL【 列表发现】
当然很多时候既没有安装telnet,traceroute也没有nmap怎么办,可以使用以下的脚本对常用端口测试连通性,来判断【ssh端口,其他业务端口等】当然可能存着两种情况1. 网络不通2.端口限制,需要结合其他机器对比测试。
2、端口连通性测试
端口测试通常是使用telnet,如果没有安装telnet。安装nmap也可以使用nmap测试
nmap -sS【SYN半开放TCP端口扫描】 -sT【全连接TCP端口扫描】 -sU【UDP端口】 -sV【版本检测 可以检测到端口上运行的软件和版本信息】
如果内网机器linux系统,既没有安装telnet也没有nmap,那么可以使用如下脚本测试。windows系统可以直接添加telnet客户端。
使用方式vim port.py
chmod +x port.py
./port.py ip 端口
#!/usr/bin/python
import os
import sys
import socket
#first argument
ip=sys.argv[1]
#second argument
port=int(sys.argv[2])
#socket try connect
def IsOpen(ip,port):
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((ip,port))
s.shutdown(2)
print'IP%s,port %d is open'%(ip,port)
return True
except:
print 'IP %s,port %d is down' %(ip,port)
return False
if __name__=='__main__':
IsOpen(ip,port)