UOS操作系统网络和端口连通性测试


环境:内网,未安装测试工具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)

原文链接:,转发请注明来源!