假设我有一个设置为:
host_1 --- Firewall_1 --- Internet --- Firewall_2 --- host_2
我需要检查host_1上哪些端口在host_2上打开(可能被防火墙阻止)
是否有一个工具分为两部分(一个在host_1上运行,另一个在host_2上运行),这对我来说是这样吗? 它应该是这样的:
1 Listen to all ports on host_2 2 Try to connect to every port on host_2 from host_1 3 Give a report what ports are allowed.
nmap是传统的端口扫描器,并且能够很好地完成这项工作。 你将它安装在host1上,并运行它对主机2,例如
host1% nmap -sT host2
我赞同其他用户的意见,除非您自己拥有,或者得到系统所有者的书面许可。 未经许可的渗透testing和其他forms的端口扫描不会使任何人都感到厌恶。
如果你有权访问host_2,那么运行一个端口扫描器在那里扫描自己。 nmap http://nmap.org会做到这一点。
如果您无法访问host_2,则只能通过两个防火墙进入,只能访问host_2上防火墙允许的端口。 您无法扫描防火墙,这是您有防火墙的原因之一!
任何端口扫描器都会为你做这件事,但是如果你不拥有所涉及的所有系统,或者至less对所有相关方都没有很好的理解,那么你应该知道这种行为是严重的。
nmap是我的首选,这是我使用的一个例子
nmap -p 10-6000 -v -e eth0 remote-host -P0 -sT localhost
使用-p你可以限制正在扫描的端口,而不会为所有端口运行。
每个人都与nmap的钱。 我会使用以下。
从主机1:
nmap -PN -sSU -p U:1-65535,T:1-65535 -vvv -n host2_IP -oN output_report.txt
如果港口回来“开放”,那么显然是开放的。 同样的事情closures。 如果它以“过滤”的方式回来,意味着有一个防火墙的方式。