J'ai un programme qui définit l'interface réseau en mode promiscuous, crée un socket qui reçoit tous les paquets entrants, puis entre dans une boucle pour lire un paquet dans un tampon, placez un pointeur sur l'emplacement de l'en-tête IP, puis imprimez la valeur de son champ ip_len. Le problème est que les valeurs imprimées sont incroyablement élevées. Read() retourne quelque chose comme 84, et le programme va imprimer 21504. J'ai vérifié les tailles de paquet dans Wireshark, et la taille totale de chaque paquet n'est pas très loin de la valeur de retour de read(). Comment puis-je obtenir ip_len pour me donner des données saines?ip_len défini sur de très grandes valeurs
0
A
Répondre
2
Cela ressemble à un problème d'endianness. 21504 est 0x5400, lequel octet-permuté est 0x0054 = 84. Assurez-vous que vous utilisez ntohs (ip_len) pour lire la valeur.
Questions connexes
- 1. Gestion de très grandes chaînes entre SQL Server et le code .NET + LINQ
- 2. __Eventtarget défini sur l'ID ScriptManager
- 3. Opérations arithmétiques sur des décimales très, très longues
- 4. Optmizing MySQL GROUP BY ou sur de grandes vues DISTINCT
- 5. Page`_IsValid est défini sur true si OnClientClick est défini
- 6. Entity Framework: Faire de grandes requêtes
- 7. MaximizeBox défini sur false ne fonctionne pas
- 8. StackOverflowException avec de grandes listes
- 9. getimagesize() ne fonctionne pas sur les grandes images (640k +)
- 10. Pourquoi Erlang plante-t-il sur de grandes séquences?
- 11. django est très lent sur ma machine
- 12. Zend Framework très mauvaise performance sur WAMP
- 13. Très étrange objet nul RTE sur FocusManager
- 14. Grandes applications utilisant NHibernate
- 15. Architecture/Maintenance/Déploiement de grandes applications
- 16. SQL Null défini sur zéro pour ajouter
- 17. Grandes considérations d'application ASP.NET MVC
- 18. Grandes tables MySQL
- 19. Problème d'évaluation très étrange
- 20. Silverlight 2 et de grandes toiles?
- 21. Vérification d'un fichier mal défini
- 22. Stratégie pour traiter les grandes tables db
- 23. Linq To Entities Générer de grandes requêtes
- 24. Compilation de modules python avec DEBUG défini sur MSVC
- 25. Juste commencé C++: Erreur de symbole non défini sur Compiler
- 26. XML Sérialiser de grandes collections d'objets
- 27. Comment gérer de grandes images avec C#
- 28. WCF UriTemplate avec grandes chaînes de requête
- 29. Problèmes de téléchargement de grandes guerres à glassfish
- 30. Sources d'informations sur l'administration de grandes bases de données SQL Server?
Je n'étais pas. Merci! – computergeek6