ipsec.py je ne trouve pas L'attribut IPPROTO_ESP et de la prise.IPPROTO_AH
J'ai installer le module de scapy pour python 2.6 et quand je l'importation de ce module, je reçois cet avertissement:
AVERTISSEMENT: ne peut pas importer de la couche ipsec: 'module' objet n'a pas d'attribut "IPPROTO_AH'
J'ai regardé dans le support des attributs et je n'ai pas trouver le "IPPROTO_AH' attribut
En outre, j'ai essayé de modifier le module ipsec.py et de trouver des moyens de remplacer les IPPROTO_AH avec quelque chose d'autre mais je me suis ensuite d'AVERTISSEMENT AVEC IPPROTO_ESP !
J'ai essayé de modifier des lignes dans ipsec.py tels que:
overload_fields = {
IP: {'proto': IPTest},
IPv6: {'nh': IPTest},
IPv6ExtHdrHopByHop: {'nh': socket.IPPROTO_AH},
IPv6ExtHdrDestOpt: {'nh': socket.IPPROTO_AH},
IPv6ExtHdrRouting: {'nh': socket.IPPROTO_AH},}
bind_layers(IP, AH, proto=socket.IPPROTO_AH)
bind_layers(IPv6, AH, nh=socket.IPPROTO_AH)
comment puis-je résoudre ce problème ?
Pourquoi avez-vous ajouté
je n'ai pas ajouter cet . j'ai eu ce module lorsque j'ai installé la scapy module et je n'ai pas l'écrire du code . Ma plate-forme de windows 7.
Ok j'ai fait un peu plus de creuser, j'ai un python2.4.4 version et
wow homme Merci !! Je vais essayer de remplacer cet attribut avec leur valeur .
IPPROTO_AH
de socket
si socket
ne l'a pas? Aussi qu'est-ce que la plate-forme/OS que vous exécutez python?je n'ai pas ajouter cet . j'ai eu ce module lorsque j'ai installé la scapy module et je n'ai pas l'écrire du code . Ma plate-forme de windows 7.
Ok j'ai fait un peu plus de creuser, j'ai un python2.4.4 version et
socket.IPPROTO_ESP
est de 50, tandis que socket.IPPROTO_AH
est de 51. J'ai aussi vérifié python3.4.3, mais il n'y en a pas.wow homme Merci !! Je vais essayer de remplacer cet attribut avec leur valeur .
OriginalL'auteur yosi doran | 2015-06-01
Vous devez vous connecter pour publier un commentaire.
Je crois que je l'ai...c'est pas une solution propre, mais il fera l'affaire... je l'ai vu dans d'autres scapy fichiers...
Tout ce que vous devez faire est de modifier ipsec.py et cherchez la ligne
import socket
juste en dessous, ajouter ces conditions:Comme je l'ai mentionné dans un des commentaires, j'ai testé à l'aide de Python 2.7.10 sur une variété de OSes (Lnx, Sol, AIX, HPUX, OSX) et les valeurs semblent être cohérentes, alors que sur Gagner ils n'existent pas. Semble comme MS retirés de WinSock2.h entre (VStudio) 2005 et 2010.
Je voudrais encore vous recommandons de vérifier d'abord si
socket
a eux et si non, alors les définir au lieu de remplacer leurs occurrences avec leurs valeurs, parce que si vous voulez exécuter le code avec un autre python installé sur une autre machine avec une autre version de Windows où ces constantes peuvent avoir des valeurs différentes (bien que ce ne serait pas très probable) le code ne fonctionne pas.J'ai aussi fait un test à l'aide de Python2.7.10 sur une variété de Systèmes d'exploitation (Linux, Solaris, AIX, HP-UX, mac OSX) et les valeurs semblent être cohérentes, tout à Gagner, ils n'existent pas. Semble comme MS retirés de
WinSock2.h
entre (VStudio) 2k5 et 2k10.OriginalL'auteur CristiFati