如何通过MAC地址找到IP地址和主机名

时间:2022-03-09 03:04:38
局域网内某机器ARP攻击,知道MAC地址,如何找到对方的真是IP地址和主机名?

15 个解决方案

#1


另外,大家都用什么ARP防火墙?

#2


使用ARP -a  可以查询,如何防止ARP攻击:

编写一个批处理文件.bat:
@ech0 off
  arp -d
  arp -s 网关IP mac
pause

将此.bat放入你的启动项,开机启动一下就可以,比什么都安全,装防火墙占系统资源。

#3


引用 2 楼 liuaibing 的回复:
使用ARP -a 可以查询,如何防止ARP攻击:

编写一个批处理文件.bat:
@ech0 off
  arp -d
  arp -s 网关IP mac
pause

将此.bat放入你的启动项,开机启动一下就可以,比什么都安全,装防火墙占系统资源。


这个一般起不到作用的,呵呵

#4


一般用arp命令可以查MAC和IP的对应关系

主机名有些防火墙会保护,拿不到

#5


登陆交换机可以查到

#6



rem 打开CMD把脚本拖进窗口 后跟 网段 MAC
rem ping.bat 192.168.120 00-11-d8-4b-fd-18
@echo off
echo Start time:
time /t
arp -d
set x=%%
set y=%%i
echo time /t >p.bat
echo for /L %x%%y% in %x%~1 do ping -n 1 -w 300 %1.%x%%y% >>p.bat
echo time /t >>p.bat
echo exit >>p.bat
echo 开始搜索MAC地址~~~
start p.bat "(1,1,50)"
start p.bat "(51,1,100)"
start p.bat "(101,1,150)"
start p.bat "(151,1,200)"
start p.bat "(201,1,254)"
echo 请在子窗口关闭后按任意键显示结果~~
pause
echo 此MAC地址对应的IP为:
arp -a |find /i "%2"
echo End time:
time /t
del /Q p.bat


测试这个脚本看看
原理是将内网的机器都ping一遍,获得他们的arp包,然后从arp缓存中根据mac找到ip

#7


对方有防火墙的话也是木有用滴

引用 6 楼 liv2005 的回复:
Assembly code

rem 打开CMD把脚本拖进窗口 后跟 网段 MAC
rem ping.bat 192.168.120 00-11-d8-4b-fd-18
@echo off
echo Start time:
time /t
arp -d
set x=%%
set y=%%i
echo time /t >p.bat
echo for /L %x%%y% in %……

#8


该回复于2012-03-02 17:09:55被版主删除

#9


自己顶一下

#10


获得IP简单,用户名不清楚

#11


看你们的网关设备,或者交换机。上那上头去找MAC地址表。
试试双向绑定吧,多数情况下还是管用的。单只在PC上绑定,意义不大

#12


RARP协议~

#13


直接运行CMD  arp /a查询ip地址  然后再查询主机

#14


跨网段的要从三层交换机上找

#15


直接运行CMD  arp /a查询ip地址  然后再查询主机

#1


另外,大家都用什么ARP防火墙?

#2


使用ARP -a  可以查询,如何防止ARP攻击:

编写一个批处理文件.bat:
@ech0 off
  arp -d
  arp -s 网关IP mac
pause

将此.bat放入你的启动项,开机启动一下就可以,比什么都安全,装防火墙占系统资源。

#3


引用 2 楼 liuaibing 的回复:
使用ARP -a 可以查询,如何防止ARP攻击:

编写一个批处理文件.bat:
@ech0 off
  arp -d
  arp -s 网关IP mac
pause

将此.bat放入你的启动项,开机启动一下就可以,比什么都安全,装防火墙占系统资源。


这个一般起不到作用的,呵呵

#4


一般用arp命令可以查MAC和IP的对应关系

主机名有些防火墙会保护,拿不到

#5


登陆交换机可以查到

#6



rem 打开CMD把脚本拖进窗口 后跟 网段 MAC
rem ping.bat 192.168.120 00-11-d8-4b-fd-18
@echo off
echo Start time:
time /t
arp -d
set x=%%
set y=%%i
echo time /t >p.bat
echo for /L %x%%y% in %x%~1 do ping -n 1 -w 300 %1.%x%%y% >>p.bat
echo time /t >>p.bat
echo exit >>p.bat
echo 开始搜索MAC地址~~~
start p.bat "(1,1,50)"
start p.bat "(51,1,100)"
start p.bat "(101,1,150)"
start p.bat "(151,1,200)"
start p.bat "(201,1,254)"
echo 请在子窗口关闭后按任意键显示结果~~
pause
echo 此MAC地址对应的IP为:
arp -a |find /i "%2"
echo End time:
time /t
del /Q p.bat


测试这个脚本看看
原理是将内网的机器都ping一遍,获得他们的arp包,然后从arp缓存中根据mac找到ip

#7


对方有防火墙的话也是木有用滴

引用 6 楼 liv2005 的回复:
Assembly code

rem 打开CMD把脚本拖进窗口 后跟 网段 MAC
rem ping.bat 192.168.120 00-11-d8-4b-fd-18
@echo off
echo Start time:
time /t
arp -d
set x=%%
set y=%%i
echo time /t >p.bat
echo for /L %x%%y% in %……

#8


该回复于2012-03-02 17:09:55被版主删除

#9


自己顶一下

#10


获得IP简单,用户名不清楚

#11


看你们的网关设备,或者交换机。上那上头去找MAC地址表。
试试双向绑定吧,多数情况下还是管用的。单只在PC上绑定,意义不大

#12


RARP协议~

#13


直接运行CMD  arp /a查询ip地址  然后再查询主机

#14


跨网段的要从三层交换机上找

#15


直接运行CMD  arp /a查询ip地址  然后再查询主机