вы можете использовать это либо на Win32 или Linux
import subprocess
import sys
remotehost="192.168.0.122"
cmd="arp -a"
p=subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
output, errors = p.communicate()
if output is not None :
if sys.platform in ['linux','linux2']:
for i in output.split("\n"):
if remotehost in i:
for j in i.split():
if ":" in j:
print "%s--> %s" % (remotehost,j)
elif sys.platform in ['win32']:
item = output.split("\n")[-2]
if remotehost in item:
print "%s--> %s" %(remotehost, item.split()[1])
Примечание: записи arp через некоторое время отключаются, вам нужно "залить вашу сеть", например, ping, чтобы arp -a показывал ваш удаленный хост.