Derzeit analysieren wir die arp-Anfrageausgabe von der Befehlszeile.So erhalten Sie die MAC-Adresse eines fremden Hosts in C++
string cmd = "arp -n ";
cmd.append(ipaddress);
cmd.append(" | grep ");
cmd.append(ipaddress);
fgets(line, 130, fp);
fgets(line, 130, fp);
ret.append(line);
...
Es funktioniert, aber ist es eine Möglichkeit, dies mit einer Bibliotheksfunktion zu tun, das wird nicht so viel hängen von der nativen Kommandozeilen-Schnittstelle? Das Projekt verwendet derzeit libpcap.
Aber das ist der ARP-Cache, also würde es nur funktionieren, wenn wir vorher eine Anfrage an diese IP gesendet hätten. Dies bietet jedoch eine plattformunabhängigere Möglichkeit, es nach dem Absenden der Anfrage einzulesen. – voteblake
Es ist nicht mehr plattformunabhängig. Es gibt keinen plattformunabhängigen Weg. Und wenn Sie eine Anfrage an diese IP senden wollen, ist es einfach - werfen Sie einfach ein zufälliges UDP-Paket. – bdonlan
Es tut mir leid, es ist mehr Distro unabhängig. Ich habe falsch gesprochen. – voteblake