2015-02-05 89 views
-1

我正在编写一个网络实用程序(用于Windows)在Java中.. 我想更改/欺骗我的网络适配器的MAC地址..我该怎么做? 如果有做这项工作的任何方法将是巨大的..如何使用java代码来欺骗mac地址?

我的做法是通过执行三个命令..

//禁用网络适配器 netsh接口设置接口名称=“本地会这样区域连接“admin = DISABLED

//这就是我没有得到的..让我说我想我的新欺骗地址是00112233445566,怎么做......?没有找到任何cmd命令更改mac地址..需要你的帮助在这里找到是否有任何cmd语句或任何java方法做这项工作

//启用网络适配器 netsh接口设置接口名称=“本地区域连接”管理=启用

感谢,将等待您的帮助:)

+0

最简单的方法是购买一个廉价的路由器,有能力做MAC欺骗并使用它。不要将计算机插入局域网,而要将其插入路由器,然后将路由器插入局域网。然后启动计算机上的浏览器并访问路由器的管理员设置并进行设置。 – 2015-02-05 22:17:58

回答

0

写自己的SocketImpl的子类,将需要使用JNI代码原始套接字。请注意,原始套接字在大多数操作系统上都需要特权操作。

0

但很多搞乱后,我发现了一个很简单的方法来完成这项工作。我看,窗口在注册表

HKEY_LOCAL_MACHINE \ SYSTEM这个位置\ CURRENTCONTROLSET \控制\ {级存储MAC欺骗4D36E972-E325-11CE-BFC1-08002BE10318} \ 0007

通过

然后我搞砸了CMD名为 “NetworkAddress的”= “00E04D18XXXX”,看看是否有什么办法可以从CMD本身编辑注册表。 。我得到了一个..下面的命令完成这项工作

“REG ADD HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \控制\类{4D36E972-E325-11CE-BFC1-08002BE10318} \ 0007 /吨REG_SZ/V的NetworkAddress/d XXXXXXXXXXXX/F”

mac = textField.getText(); 

String commandChangeMac = "reg add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0007 /t REG_SZ /v NetworkAddress /d " + mac + " /f"; 

obj.executeCommand(commandChangeMac);` 

很容易心不是它:D

0

String mac =“2d345678U987”;

Process p = Runtime 
       .getRuntime() .exec("cmd /c start cmd.exe /K \" \"reg add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0007 /t REG_SZ /v NetworkAddress /d " + mac + " /f "); 
+0

在命令的mac中添加12位数字并尝试 – 2016-02-17 04:26:33