Я разработал код, который позволяет мне пинговать ряд IP-адресов. Результаты моего ping sweep определяют, какие локальные машины достижимы, если доступно там имя хоста, а также если они недоступны.Извлечение MAC-адреса из развертки PING
У меня возникают проблемы с получением MAC-адреса достижимых IP-адресов. Кто-нибудь получил решение для этого?
package networkping;
import java.io.IOException;
import java.net.InetAddress;
/**
*
* @author Learner
*/
public class Networkping {
public static void main(String[] args) throws IOException {
InetAddress localhost = InetAddress.getLocalHost();
// this code assumes IPv4 is used
byte[] ip = localhost.getAddress();
for (int i = 1; i <= 254; i++)
{
ip[3] = (byte)i;
InetAddress address = InetAddress.getByAddress(ip);
if (address.isReachable(1000))
{
System.out.println(address + " Address is reachable");
}
else if (!address.getHostAddress().equals(address.getHostName()))
{
System.out.println(address + " Address is known in a DNS lookup and is reachable ");
}
else
{
System.out.println(address + " Address is unreachable");
}
}
}
Благодаря
Java к сожалению, не может сделать это без JNI, и в зависимости от сетевой конфигурации/ОС, perha ps совсем нет. – hexafraction
@hexafraction Спасибо за ваш комментарий и ввод, но я даю это как задание, и репетитор уверяет меня, что можно сделать – user3071069
@ user3071069 Посмотрите на ссылку в моем ответе. Это возможно, но вам нужно пройти круговым путем. –