描述:局域网中有电脑 打印机 路由器 交换机等设备,如何通过java 将这些设备全部扫描出来,包括 子路由器以及交换机内的所有已连接设备;
现通过arp 命令 可以获取到与本机同级别的所有已连接设备;
想获取子路由器 以及 子交换机内已连接的设备,通过什么方式 可以实现?
获取局域网中子路由器以及交换机内的所有已连接设备
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
独角鲸网络安全实验室 2025-10-28 13:43关注首先得解决个关键问题:子路由器会把网络分成不同子网,ARP只能扫到跟你电脑同个子网的设备;非管理型交换机又没法直接查连了哪些设备。
实际操作可以这么来:
- 先找所有可能的子网——比如看你电脑的子网(像192.168.1.x),再查路由表(执行
route print),或者试试常见的网段(192.168.2.x、10.0.0.x这些),毕竟子路由大概率用这类。 - 然后扫每个子网里的IP——用Java执行ping命令(比如ping 192.168.2.100),能通就是有设备;或者试试连80、443这些常用端口,有些设备禁ping但端口开着。
- 要是你那路由器/交换机是能管理的(有后台界面),也能试试SNMP协议或它的管理API,直接拿设备列表,但得知道账号和配置信息,这个不是所有设备都支持。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 先找所有可能的子网——比如看你电脑的子网(像192.168.1.x),再查路由表(执行