Прочитане и обработка на конфигурациата на DHCP сървър


0

На машина с Линукс има стартиран DHCP сървър.
Той пази настройките си в конфигурационен файл dhcpd.conf.
Вътре има изборени идентификации на мрежи и компютри.
Направено е така, че всеки хост в мрежата, спрямо своя MAC адрес да получава определен IP адрес.
По този начин конфигурцияте придобива вида:


hostname hostA {
   hardware ethernet a1:b1:c1:d1:e1:f1;
   fixed-address 192.168.95.11;
}
hostname hostB {
   hardware ethernet a2:b2:c2:d2:e2:f2;
   fixed-address 192.168.95.12;
}
hostname hostC {
   hardware ethernet a3:b3:c3:d3:e3:f3;
   fixed-address 192.168.95.13;
}


Как да напиша програма на Java, която да преброи така изброените хостове?
Как да съхраня информацията за техните MAC и IP адреси?
Крайната цел ще бъде да ги изведа в таблица.

Разполагам с копие от файла на своя компютър.
Не се налага да го чета през мрежата.

Предварително благодаря за съдействието.

 




Отговори



0
Нямам опит с Java, но мога да ти дам следния съвет: Прочети в нета (stackoverflow.com, javapractice.com и т.н.) как се парсва текстов файл (java string file parser). След като се справиш с това и напълниш някакъв масив с думичките от файла dhcp.conf ще ти остане само да преброиш с един цикъл колко са ключовите думи hostname и ще получиш броя на хостовете получили IP адрес от сървъра. Успех :)

от redOne (0 точки)


0
Най-лесно можеш да напишеш това с Powershell - все пак библиотеките са специално разработени за това и смятам, че са достатъчно гъвкави.

..иначе за Java, то виж материалите за Android Apps - там ще видиш как се чете файл, как се обработва файл и др. подобни на Java

от bgatev (1491 точки)


0

На машината с линукса в bash-shella:
grep hostname dhcpd.conf | wc -l > dhcp-hosts-info.txt grep -o '[^ ]*$' dhcpd.conf >> dhcp-hosts-info.txt less dhcp-hosts-info.txt
Резулата с горния примерен файл ще е:
3 { a1:b1:c1:d1:e1:f1; 192.168.95.11; } { a2:b2:c2:d2:e2:f2; 192.168.95.12; } { a3:b3:c3:d3:e3:f3; 192.168.95.13; }
Първата цифра е БРОЙКАТА.
Форматирането си е работа на форматиращия :)

от gianyy (176 точки)