You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决SEH缓冲区溢出测试中socket.error: [Errno 113]无路由到主机错误?

解决Easy File Webserver SEH溢出时的socket.error: [Errno 113] No route to host错误

嘿,我看你在尝试对Easy File Webserver做SEH缓冲区溢出利用时碰到了网络连接的问题,这个[Errno 113] No route to host错误本质是你的Kali主机无法和目标主机建立网络连接,和溢出代码本身关系不大,咱们先从网络层面一步步排查:

首先还原你遇到的报错和代码片段:

执行报错

root@kali:~/Desktop# python default.py
[+]Sending the Exploit....
Traceback (most recent call last):
  File "default.py", line 42, in <module>
    s.connect((host, port))
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 113] No route to host

你的代码片段

import sys, socket, struct
shellcode = ("Ignore the shellcode.")
# ... 剩余代码省略

接下来是具体的排查步骤:

  • 先确认目标主机是否可达:在Kali终端里执行ping <目标主机IP>,如果没有收到回包,说明两台机器不在同一网段、目标主机未开机,或者中间有设备拦截了ICMP请求。先把这个基础连通性搞定。
  • 检查目标端口是否开放:用nmap -p <目标端口> <目标主机IP>扫描端口状态,如果显示closed或者filtered,那说明Easy File Webserver没正常启动,或者端口配置错了,或者目标防火墙拦截了该端口。
  • 验证防火墙规则:
    • 目标主机(通常是Windows系统):暂时关闭Windows Defender防火墙或者把Easy File Webserver的监听端口加入放行列表;
    • Kali主机:如果开启了ufw,执行ufw allow out <目标端口>/tcp确保出站连接不被拦截。
  • 核对代码中的连接参数:再检查一遍代码里的host变量是不是目标主机的正确IP,port是不是Easy File Webserver实际监听的端口(默认一般是80,也可能是自定义的其他端口),别不小心输错了。
  • 用telnet测试连接:在Kali里执行telnet <目标主机IP> <目标端口>,如果能成功建立连接,那再回头检查代码里的socket逻辑,比如是不是误用了UDP协议(Easy File Webserver是HTTP服务,要用TCP);如果连不上,就继续排查网络层面的问题。

内容的提问来源于stack exchange,提问作者Xyltic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:28:24