游客发表

跨网段ip扫描工具

发帖时间:2026-10-17 05:03:04

去年冬天,跨网我在一个客户现场排查网络故障。描工他们的跨网办公区在10.0.1.0/24,机房服务器在192.168.10.0/24,描工中间隔了三层路由。跨网一台新上架的描工监控服务器死活连不上数据库,ping都ping不通。跨网我坐在工位上,描工手里只有一台Windows笔记本,跨网想快速确认那台数据库服务器的描工ICMP到底通不通——但普通ping命令跨不了那么远,网关根本不让我过。跨网

这时候就得靠跨网段扫描工具了。描工普通ARP扫描只能在同一个广播域里玩,跨网跨了网段,描工ARP包直接被路由器扔掉。跨网你得用基于ICMP或TCP的扫描方式,让数据包能穿过路由器,抵达目标网段。

我常用的第一个工具是nmap。别被它那堆参数吓到,跨网段扫描其实就一条命令:nmap -sn 192.168.10.0/24。这个-sn就是“ping扫描”,不做端口探测,只发ICMP echo请求、TCP SYN到443端口、TCP ACK到80端口、还有时间戳请求。四种探测方式轮着来,总有一种能过防火墙。那次我用这条命令,三秒钟就看到了数据库服务器的IP——它只是禁了ICMP,但443端口有响应。问题一下子定位了:防火墙策略只放了ICMP,没放数据库的3306端口。

Windows环境下,很多人只知道ping,其实有个更省事的:arp -a只能看本网段,跨网段得用for /L %i in (1,1,254) do @ping -n 1 -w 100 192.168.10.%i | find "TTL="。这行命令在CMD里跑,挨个ping过去,有回显的就打印出来。慢是慢了点,254个地址大概两分钟,但胜在不用装任何东西。我见过一个运维老哥,把这段写成了bat脚本,双击就跑,桌面上常年放着。

Linux下我更喜欢fping。它跟ping不一样,ping是一个一个来,fping可以并行发。命令也简单:fping -a -g 192.168.10.0/24,-a只显示活着的,-g生成整个网段。输出干净利落,一列IP,没有多余信息。有次我在一台跳板机上用fping扫一个/16的网段,65534个地址,它用了大概四十秒。当然得加-t控制超时,默认太长了。

但跨网段扫描有个坑:很多企业路由器默认限速ICMP,或者直接丢弃。这时候纯ping扫描会漏掉大量存活主机。我一般会配合TCP SYN扫描,比如nmap -PS22,80,443,3389 192.168.10.0/24。-PS就是发TCP SYN包到指定端口,只要目标端口开着或者返回RST,nmap就认为主机存活。这个方法比ICMP靠谱得多,因为防火墙很少把TCP握手也拦了。

还有个小工具叫netdiscover,被动模式能监听ARP,主动模式可以发ARP请求。但它跨不了网段,只能在同一VLAN里用。我提它是因为很多人搞混——跨网段扫描的本质是三层扫描,二层工具再强也白搭。

最后说个实际经验。跨网段扫描前,先确认自己的机器能不能路由到目标网段。traceroute或者tracert一下,看看网关是不是回了“目标不可达”。有次我扫了半天没结果,最后发现是本地路由表里根本没有去192.168.10.0的条目,数据包全发给默认网关了,而默认网关不知道怎么走。加一条静态路由,秒通。

工具本身不复杂,关键是理解数据包怎么走。你发出去的探测包,得能到得了对面,回包还得能回来。中间任何一跳的ACL、NAT、策略路由都可能让扫描结果变得莫名其妙。所以别迷信工具的输出,扫不到不代表不存在,扫到了也别急着下结论——先看看路由和防火墙日志。

    热门排行

    友情链接