2016-02-14 1 views
0

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

+0

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

+0

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? –

+0

Peut-être y at-il des fichiers (cachés) à gauche? Le deuxième retraçage est-il exactement ce que vous obtenez? – Jasper

Répondre

0

J'ai trouvé que, après la désinstallation et la réinstallation scapy je na pas redémarrer ma machine et qui a fait l'erreur! Pour les personnes qui pourraient avoir mon erreur, il suffit de retirer scapy de votre machine et redémarrez-le et installez la dernière version scapy.