不知何故,我负责组织安装一个涉及4台服务器的新生产环境。
我必须要求networkingpipe理员打开防火墙上的端口。 他说他已经做了改变,我需要检查他们。
我需要检查:
1服务器alpha将能够SFTP到服务器testing版。
2服务器alpha将能够连接到服务器伽马636上的LDAP。
3服务器alpha将能够查看服务器端口80上的web服务
我知道如何做到这一点的最好方法是尝试telnet到服务器,所以例如情况#1我试图login到alpha和:
alpha> telnet beta.mycompany.com 22
有没有更好的方法来testing是否可以连接端口22,636和80?
假设服务使用TELNET客户端在目标服务器上“侦听”,以testingTCP连接是一个非常有效的方法。 如果你想得到更多的裸机,你可以使用像“netcat”这样的工具。 你只是用这种方式来testing堆栈到TCP。 你不能保证第7层协议实际上没有做更多的工作。
如果您想要进行第7层validation,请为每个有问题的协议使用一个客户端程序,并尝试执行某些types的客户端/服务器交互。
与往常一样,如果您对stream量是否达到您期望的stream量持怀疑态度,我build议您使用嗅探器(tcpdump,Wireshark等)来validation数据包是否真正结束期待他们。 看着电线上的那些东西是不可替代的。
这真的取决于您要查找的validation级别。 对于大多数简单的单端口TCP服务(如列出的那些),您只需要validation端口是否打开并接受连接。 最简单的方法是使用nmap 。 检查提到的端口的具体语法是:
nmap -p 22,80,636 192.168.1.1
并且会返回一个结果:
Starting Nmap 5.00 ( http://nmap.org ) at 2011-01-24 16:20 CST Interesting ports on 192.168.1.1: PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 636/tcp closed ldapssl Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds
如果防火墙阻止任何这些端口,则返回的状态将被filtered而不是open或closed 。
这只是validation防火墙规则,但。 它不validation服务是否必须在端口上运行,或者它运行正常。 为此,你必须运行一个支票,了解你正在检查的服务。