Ich habe ein Programm, das die Netzwerkschnittstelle auf Promiscuous-Modus setzt, erstellt einen Socket, der alle eingehenden Pakete empfängt und dann eine Schleife eingibt, um ein Paket in einen Puffer zu lesen, einen Zeiger auf den Speicherort festlegen des IP-Headers und dann den Wert seines ip_len-Feldes. Das Problem ist, dass die gedruckten Werte unmöglich hoch sind. Die Funktion read() gibt etwa 84 zurück, und das Programm druckt 21504. Ich überprüfte die Paketgrößen in Wireshark, und die Gesamtgröße jedes Pakets ist nicht sehr weit vom Rückgabewert von read() entfernt. Wie kann ich ip_len bekommen, um mir vernünftige Daten zu geben?ip_len auf sehr große Werte eingestellt
0
A
Antwort
2
Es klingt wie ein Endianness-Problem. 21504 ist 0x5400, Byte-vertauscht ist 0x0054 = 84. Stellen Sie sicher, dass Sie ntohs (ip_len) verwenden, um den Wert zu lesen.
Verwandte Themen
- 1. Optimierung von mmap auf sehr große Datei
- 2. Transaktionen über sehr sehr große Entitätsgruppe
- 3. PyInstaller sehr große Dateigröße
- 4. Sehr, sehr große Zahlen in vb.net
- 5. pread für sehr große Dateien
- 6. Sehr große Zeichenfolge im Speicher
- 7. Datenbankentwurf für sehr große Datenmengen
- 8. Sehr große Speicherauslastung in Benachrichtigungen
- 9. Echo eine sehr große Zahl
- 10. HTTP Download sehr große Datei
- 11. Handle sehr große http Download
- 12. Crystal Reports - sehr große Datenbank, sehr lange Verarbeitungszeit
- 13. Sehr große Eingabe und Verrohrung mit subprocess.Popen
- 14. Wie lade ich eine sehr große Datei auf S3 hoch?
- 15. k-bedeutet Clustering in R auf sehr große, spärliche Matrix?
- 16. Sehr große Texturen auf XNA Windows Phone 7
- 17. Python: eine sehr große Binärdatei schneiden
- 18. VBScript, um sehr große Textdateien zu teilen
- 19. Anzeige sehr große 1bpp Bitmap in C#
- 20. Parsing (sehr) große XML-Dateien mit XmlSlurper
- 21. Wie behandelt man sehr große Daten?
- 22. Jquery Diashow Bilder sehr große Dateigröße
- 23. Sehr große Jar-Dateien und FAT32
- 24. Sortieren sehr große Textdatei in PowerShell
- 25. Binomialtest in Python für sehr große Zahlen
- 26. Web Programmiersprache für sehr große Listen?
- 27. Get MD5 Checksum für sehr große Dateien
- 28. Sehr große Zeichenfolge Trie in Haskell
- 29. Stream sehr langsam für große Dateien
- 30. Multiplizieren sehr große Ganzzahl in .NET
Ich war nicht. Vielen Dank! – computergeek6