Im essayant d'écrire petit serveur proxy http juste pour tester comment scapy gère le paquet avec StreamSocket
.scapy - Nom Erreur "nom global 'Padding' n'est pas défini"
from scapy.all import *
import socket
sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print "Start"
sk.bind(("127.0.0.1",8090))
sk.listen(1)
conn , addr = sk.accept()
ss = StreamSocket(conn)
r = ss.recv(2048)
print r
ss.close()
Quand je suis arrivé la ligne r = ss.recv(2048)
il est dit (sur scapy 2.2.0):
Traceback (most recent call last):
File "<string>", line 254, in run_nodebug
File "C:\Python26\ProxyServer\module1.py", line 21, in <module>
r = ss.recv()
File "C:\Python26\lib\site-packages\scapy\supersocket.py", line 126, in recv
pad = pkt.getlayer(Padding)
NameError: global name 'Padding' is not defined
J'ai essayé de mettre à jour mon scapy (de 2.2.0 à 2.3.2) et fait la même erreur:
Traceback (most recent call last):
File "<string>", line 254, in run_nodebug
File "C:\Python26\ProxyServer\module1.py", line 21, in <module>
r = ss.recv()
File "C:\Python26\lib\site-packages\scapy\supersocket.py", line 126, in recv
pkt = self.basecls(pkt)
NameError: global name 'Padding' is not defined
S'il vous plaît Aide? désolé pour mon mauvais anglais
Note: J'ai Windows 7 64 bits, Python 2.6 et maintenant scapy 2.3.2
Le deuxième retraçage est-il exactement ce que vous obtenez? Parce qu'il n'y a pas de rembourrage sur la ligne 126 en scapy 2.3.2. Comment avez-vous mis à jour? Je suppose qu'il y a des restes de versions antérieures. Peut-être désinstaller et réinstaller scapy aide. – Jasper
Je ne veux pas paraître stupide mais j'ai supprimé scapy 2.2.0 manualy (en supprimant les sites-packages/scapy et les scripts/scapy) Il existe un moyen de le faire automatiquement? comme 'python setup.py désinstaller» ou quelque chose comme ça? –
Peut-être y at-il des fichiers (cachés) à gauche? Le deuxième retraçage est-il exactement ce que vous obtenez? – Jasper