【发布时间】:2016-03-13 14:07:39
【问题描述】:
我正在做恶意软件分析实验室。
任务是调查 CVE-2015-7547 glibc 漏洞。
谷歌已经给了proof of concept code。此代码包含 C 中的客户端和 python 中的假 DNS 服务器。当我尝试运行服务器时,它会抛出异常:
turbolab@sandbox:~/Desktop$ sudo python CVE-2015-7547-poc.py
Traceback (most recent call last):
File "CVE-2015-7547-poc.py", line 176, in <module>
tcp_thread()
File "CVE-2015-7547-poc.py", line 101, in tcp_thread
sock_tcp.bind((IP, 53))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use
IP 设置为 127.0.0.1。
如何运行服务器并连接客户端?
【问题讨论】:
-
该端口上是否已经有东西在监听?
netstat -an | grep 53或lsof | grep LISTEN或类似的应该告诉你 -
turbolab@sandbox:~/Desktop$ netstat -an | grep 53 tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN udp 0 0 127.0.0.1:53 0.0.0.0:* unix 3 [ ] STREAM CONNECTED 9532 @/tmp/dbus-FBvArc4F2a unix 3 [ ] STREAM CONNECTED 9531 unix 3 [ ] STREAM CONNECTED 9253 unix 3 [ ] STREAM CONNECTED 8953 unix 3 [ ] STREAM CONNECTED 7053 -
所以有些东西已经绑定到那个端口,你大概已经运行了一个 dns 解析器
-
我该如何阻止它?重启后出现同样的错误。不要认为假服务器的另一个实例正在运行。
-
试试this