Forum: PC-Programmierung ARP Cache löschen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich suche in C# eine Möglichkeit den ARP Cache zulöschen. Durch ein C# 
Tool kann die MAC Adresse von einem Mikrocontroller verändert werden. 
Sobald ich via Ethernet Daten auslesen möchte erhalte ich keine 
Rückantwort vom Mikrocontroller über das Netzwerk. Wenn der ARP Cache in 
der Kommandozeile gelöscht wird dann funktioniert die 
Netzwerkkommunikation.

von Christian M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ohne C# zu kennen: Script aufrufen mit Execute, Run oder wie das in C# 
heisst?
Aber wozu in aller Welt sollte man dauernd die MAC-Adresse wechseln?

Gruss Chregu

von Peter II (Gast)


Bewertung
0 lesenswert
nicht lesenswert
einfach die passende API Funktion über unmanage code aufrufen

https://msdn.microsoft.com/de-de/library/windows/desktop/aa365905(v=vs.85).aspx

von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Super vielen Dank. Das Löschen der ARP Einträge funktioniert nun.

von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Was ich allerdings noch bräuchte ist, herauszufinden welche ARP Eintrage 
von welchem Netzwerkadapter (Nummer).

von Peter II (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Leon schrieb:
> Was ich allerdings noch bräuchte ist, herauszufinden welche ARP Eintrage
> von welchem Netzwerkadapter (Nummer).

hier die Übersicht der API aufrufe

https://msdn.microsoft.com/de-de/library/windows/desktop/aa366071(v=vs.85).aspx

von Jack (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Fehler ist auf der Mikrocontroller-Seite. Beim Wechsel der 
MAC-Adresse, sollte der Mikrocontroller ein Gratuitous ARP senden um die 
Caches aller beteiligten Netzwerkgeräte zu aktualisieren.

von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ah ok. Ich verwende den Lwip-Stack.

von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Für einen Gratuitous ARP welche IP Adresse und welche Hardware MAC 
Adresse muss für den Sendevorgang übergeben werden?

von S. R. (svenska)


Bewertung
0 lesenswert
nicht lesenswert
Die neue MAC-Adresse und die aktive IP-Adresse. Du willst dem PC 
schließlich mitteilen, wie er dein Gerät erreichen kann.

von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Was meinst du mit aktive IP-Adresse? Die IP-Adresse vom Mikrocontroller 
oder vom Host?

Was das Senden betrifft, der Gratuitouse ARP funktioniert bei mir nicht. 
Gibt es möglicherweise noch irgendwelche Dinge die ich vorher tun 
müsste?

von Michael S. (e500)


Bewertung
0 lesenswert
nicht lesenswert
Nur mal so aus Interesse: Weshalb wechselt denn der µC die MAC-Adresse?
Ist ja kein gewöhnlicher Vorgang ...

von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
In der Produktion soll die MAC-Adresse gesetzt werden. In der 
Entwicklungsphase bräuchte ich diesen Gratious ARP nicht.

von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das Löschen der Windows ARP Tabelle mit der Funktion FlushIpNetTable 
funktioniert auch nicht.

von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Oben habe ich geschrieben dass das Löschen mit der Funktionion 
funktioniert. Dies ist leider nicht so hab mich da vertan.

von Peter II (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Leon schrieb:
> Oben habe ich geschrieben dass das Löschen mit der Funktionion
> funktioniert. Dies ist leider nicht so hab mich da vertan.

gibt es eine Fehlermeldung? Richtiges Interface gewählt?

von Leon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ja hab den Fehler gesehen. Die Interfacenummer ist diesmal eine andere. 
Jetzt wird der ARP Cache gelöscht. Weisst du wie man die Interfacenummer 
von der MAC-Adresse heraufinden kann?

von S. R. (svenska)


Bewertung
0 lesenswert
nicht lesenswert
Leon schrieb:
> Was meinst du mit aktive IP-Adresse? Die IP-Adresse vom Mikrocontroller
> oder vom Host?

Der Mikrocontroller wird ja sowohl eine MAC-Adresse als auch eine IP 
haben, wenn du ihn konfigurierst. Sonst gäbe es die Problematik nicht.

Wenn der Controller jetzt eine neue MAC eingepflanzt bekommt, sendet er 
einen gratituous ARP mit seiner IP-Adresse (er ist ja noch immer der 
gleiche), aber mit seiner "neuen" MAC-Adresse.

Überlege dir mal, warum man ARP überhaupt macht, was die Tabelle 
enthält, und wer warum wessen Tabelle ändern will. Ein gratituous ARP 
ist an sich nur eine Antwort ohne vorhergehende Frage, um proaktiv auf 
veränderte Umstände hinzuweisen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.