这个Python代码的错误是什么?

0 投票
2 回答
1870 浏览
提问于 2025-04-15 14:24

我该怎么做才能解决这个问题呢?

终端输出是:

abhi@abhi-desktop:~/Desktop/sslstrip-0.1$ python sslstrip.py --listen=3130
Traceback (most recent call last):
  File "sslstrip.py", line 254, in 
    main(sys.argv[1:])
  File "sslstrip.py", line 246, in main
    server = ThreadingHTTPServer(('', listenPort), StripProxy)
  File "/usr/lib/python2.6/SocketServer.py", line 400, in init
    self.server_bind()
  File "/usr/lib/python2.6/BaseHTTPServer.py", line 108, in server_bind
    SocketServer.TCPServer.server_bind(self)
  File "/usr/lib/python2.6/SocketServer.py", line 411, in server_bind
    self.socket.bind(self.server_address)
  File "", line 1, in bind
TypeError: an integer is required
abhi@abhi-desktop:~/Desktop/sslstrip-0.1$ 

这里有一个21kb的代码文件...
下载链接

2 个回答

2

你提供的链接是指向sslstrip-0.5版本的,而你现在使用的是sslstrip-0.1版本。这两个版本的差别可大了(sslstrip-0.5使用了twisted这个库)。这个问题在sslstrip-0.2版本中已经修复了。如果你不想安装twisted,或者不想使用它,我建议你下载sslstrip-0.4这个版本。

2

如果你不指定端口,它会出错吗?

我猜测,listenPort在选项解析的时候是以字符串的形式出来的,需要在sslstrip.py的第77行转换成整数。

撰写回答