Hallo, ich verwende einen Mega16 und den ENC28J60. Zudem hab ich mir eine Anwendung mit Qt Creator geschrieben um UDP-Pakete zu senden und zu empfangen. Wenn ich ein Paket vom PC zum µC sende antwortet der µC wiederum mit einem Paket. Dieses Paket sehe ich auch in Wireshark, dass es ankommt beim PC. Aber bei meiner Anwendung kommt es nicht an. Sende ich aber ein Paket mit meinem Smartphone zum PC sehe ich es auch in Wireshark und es kommt bei meiner Anwendung an. Nur wenn das Paket vom µC kommt, kommt es nicht bis zu meiner Anwendung durch. Ich bin schon seit gestern am verzweifeln. Kann mir jemand evtl. helfen?
Gast
#3758101
Portummer ok?
Gast
#3758110
Checksum(s) OK? Laut Dokumentation sollte es auch ohne die UDP-Checksum gehen. Ich meine mich aber erinnern zu können, dass zumindest bei Windows dann nichts ankommt. Wireshark prüft die UDP-Checksum standartmäßig nicht, da fällt das nicht auf. Alle Angaben ohne Gewähr, da die Erinnerung hier momentan etwas schwächelt.
Gast
#3758123
Meine Wireshark-Erfahrungen liegen etwas zurück, daher weiß ich nicht, wo genau man heutzutage klicken muß, um alles zu sehen, aber Wireshark zeigt eigentlich alle Einzelheiten an, die man braucht. Ein paar Dinge, die das Betriebssystem prüft, bevor die Applikation das empfangene Paket bekommt: - Stimmt die Absenderadresse (IP source address)? Da muß die Adresse des µC stehen. - Stimmt die Empfängeradresse (IP destination address)? Da muß die Adresse des PC stehen. - Stimmt die IP-Header-Prüfsumme? Wireshark sollte fett dranschreiben, wenn die falsch ist. - Längenplausibilität: Im IP-Header steht, wie lang das Paket ist. Ist es wirklich mindestens so lang? - Flags und Fragmentoffset sollten 0 sein - Protokollnummer: im IP-Header muß stehen, daß es ein UDP-Paket ist (nicht TCP oder sonstwas) - UDP-Portnummern: destination port muß mit der Portnummer übereinstimmen, auf die die Applikation "hört" - Längenplausibilität: Im UDP-Header steht auch nochmal 'ne Länge. Ist das Paket tatsächlich so lang? - Stimmt die UDP-Prüfsumme? Die ist optional: wenn sie 0 ist, ist gut, wenn nicht, muß sie korrekt sein. Sollte Wireshark aber auch fett markieren, wenn die nicht stimmt.
Also alles was du aufgezählt hast stimmt. UDP Checksum hab ich auch 0 gelassen. Falls jemand Zeit hat, könnte er sich ja mal die Pakete ansehen. Vielleicht hab ich irgendwas übersehen.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
Gast
#3758185
Mathias O. schrieb: > UDP Checksum hab ich auch 0 > gelassen. Diese zwei 00 00 kann ich auf den ersten Blick nicht entdecken
Die einzigen nennenswerten Unterschiede sind diese im IP-Header. Vom µC: Identification: 0x0002 (2) Time to live: 128 Vom Smartphone: Identification: 0x0000 (0) Time to live: 64 Edit: Sorry, das war vom Checksum Test :P
1 | |
2 | |
3 | |
4 | |
Mathias O. schrieb: > Aber bei meiner Anwendung kommt es nicht an. Aber bei der NSA ... :-)
Das ist mir egal. Ich hab nix zu verheimlichen.
Ich habs. Identification muss 0 sein.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.