2015-02-05 3 views
-1

Я пишу сетевую служебную программу (для windows) в java .. Я хочу изменить/подменить mac-адрес моего сетевого адаптера .. как это сделать? было бы замечательно, если бы какой-нибудь способ, чтобы сделать эту работу ..Как подменить mac-адрес с помощью java-кода?

мой подход будет, как это, выполнив три команды ..

// Отключить сетевой адаптер Netsh интерфейс имя набора интерфейс = "Local Area Connection "admin = DISABLED

// это то, что я не получаю .. позволяет сказать, что я хочу, чтобы мой новый поддельный адрес был 00112233445566, как это сделать ...? не нашел команду cmd для изменения адреса mac .. вам нужна ваша помощь здесь, если вы найдете какой-либо оператор cmd или какой-либо java-метод, который выполняет задание

// Включить сетевой адаптер netsh interface set interface name = "Local Area Подключение»админ = ВКЛЮЧЕНО

спасибо, будет ждать вашей помощи :)

+0

Самый простой подход - купить дешевый маршрутизатор, способный выполнять спуфинг MAC и использовать его. Вместо того, чтобы подключать компьютер к локальной сети, подключите его к маршрутизатору, а затем к маршрутизатору в локальной сети. Затем запустите браузер на компьютере и получите доступ к настройкам администратора маршрутизатора и настройте его. –

ответ

0

Написать свой собственный подкласс SocketImpl, который нужно будет использовать JNI код для сокетов. Обратите внимание, что для сырых сокетов потребуются привилегированные операции для большинства ОС.

0

, но после того, как возиться с много, я нашел очень простой способ сделать эту работу .. я читал, окно хранит подделано макинтош в этом месте в реестре

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Class { 4D36E972-E325-11CE-BFC1-08002BE10318} \ 0007

под названием "NetworkAddress" = "00E04D18XXXX"

тогда я перепутались с ЦМД, чтобы узнать, есть ли какой-либо способ редактирования реестра из CMD себя. и я получил один .. команда ниже делает работу отлично

"рег добавить HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Class {4D36E972-E325-11CE-BFC1-08002BE10318} \ 0007/т REG_SZ/об NetworkAddress/д ХХХХХХХХХХХХ/ф"

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);` 

довольно легко Isnt его : 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

добавьте 12-значное число в mac в команде и попробуйте –

 Смежные вопросы

  • Нет связанных вопросов^_^