Я хочу получить MAC-адрес всего устройства, подключенного к сети. [в скрипте - вся среда окон]Есть ли способ выполнить команду arp -a cmd в скрипте python?
Я решил использовать для этого python. Я использовал nmap для этого.
import nmap
nm = nmap.PortScanner()
nm.scan('127.0.0.1', '22-443')
#nm.scan(hosts='192.168.1.0/24', arguments='-n -sP -PE -PA21,23,80,3389')
nm.scan(hosts = '192.168.1.0/24', arguments = '-n -sP -PE -T5')
for host in nm.all_hosts():
mac = nm[host]['addresses']['mac']
print("mac " + mac)
[Проблема с этим методом заключается в том, что когда-то он пропускает несколько устройств. Значение, Если подключено к маршрутизатору 5 устройств, и я запускаю сценарий впервые, он вернет только одно или два устройства. В следующий раз я бегу сценарий он будет возвращать все 5, третий раз может быть только один ... как это.]
Где, как если бы я открыть окно командной строки и делать,
arp -a
Он отлично работает каждый время.
Итак, мой вопрос в том, что я могу проанализировать результат из cmd в сценарии python?
Я смотрел на os.popen (.. ?? ..), Но я не могу точно понять, как это сделать? Есть ли хорошая библиотека для этого? https://pypi.python.org/pypi/arprequest/0.3