-
Notifications
You must be signed in to change notification settings - Fork 132
Open
Description
Background story: I can't communicate with certain CIDR block, probably blocked by firewall.
So we setup a tunnel over HTTP(S/TLS) protocol, the flow in general look like this: my host -> socks tunnel -> ssh -> firewalled host -> proxychains-windows -> socks tunnel -> my host -> free internet.
and the weird thing is the anomaly in this output:
user@firewalled_host MSYS ~/proxychain_win32
# ./proxychains_win32_x64d.exe -f ./proxychains.conf curl -sv4 ip.gs
[D] 2025/09/18 21:31:25 Argv[3] = curl
[D] 2025/09/18 21:31:25 Argv[4] = -sv4
[D] 2025/09/18 21:31:25 Argv[5] = ip.gs
[I] 2025/09/18 21:31:25 Configuration file: ./proxychains.conf
[PID 7264] [I] 2025/09/18 21:31:25 Ws2_32.dll connect(344 127.0.0.1:31056 16) DIRECT
* Host ip.gs:80 was resolved.
* IPv6: (none)
* IPv4: 224.178.133.122
* Trying 224.178.133.122:80...
[PID 7264] [I] 2025/09/18 21:31:25 <> localhost:1080
[PID 7264] [I] 2025/09/18 21:31:25 Ws2_32.dll connect(372 224.178.133.122:80 16) -> ip.gs:80 PROXY
* Connected to ip.gs (224.178.133.122) port 80
* using HTTP/1.x
> GET / HTTP/1.1
> Host: ip.gs
> User-Agent: curl/8.14.1
> Accept: */*
>
* Received HTTP/0.9 when not allowed
* closing connection #0
[I] 2025/09/18 21:31:25 All Windows descendant process exited.
[I] 2025/09/18 21:31:25 Master exiting
user@firewalled_host MSYS ~/proxychain_win32
# ./proxychains_win32_x64d.exe -f ./proxychains.conf curl --http0.9 -sv4 ip.gs
[D] 2025/09/18 21:32:30 Argv[3] = curl
[D] 2025/09/18 21:32:30 Argv[4] = --http0.9
[D] 2025/09/18 21:32:30 Argv[5] = -sv4
[D] 2025/09/18 21:32:30 Argv[6] = ip.gs
[I] 2025/09/18 21:32:30 Configuration file: ./proxychains.conf
[PID10960] [I] 2025/09/18 21:32:30 Ws2_32.dll connect(388 127.0.0.1:31067 16) DIRECT
* Host ip.gs:80 was resolved.
* IPv6: (none)
* IPv4: 224.178.133.122
* Trying 224.178.133.122:80...
[PID10960] [W] 2025/09/18 21:32:36 select() timeout
[PID10960] [W] 2025/09/18 21:32:36 Ws2_32.dll connect(400 224.178.133.122:80 16) -> ip.gs:80 PROXY ret: -1, wsa last error: This operation returned because the timeout period expired.(1460)
* Immediate connect fail for 224.178.133.122: This operation returned because the timeout period expired.
* Failed to connect to ip.gs port 80 after 4 ms: Could not connect to server
* closing connection #0
[I] 2025/09/18 21:32:36 All Windows descendant process exited.
[I] 2025/09/18 21:32:36 Master exiting
user@firewalled_host MSYS ~/proxychain_win32
# curl -4 -v -x socks5://127.0.0.1:1080 ip.gs
* Trying 127.0.0.1:1080...
* Connected to 127.0.0.1 (127.0.0.1) port 1080
* Host ip.gs:80 was resolved.
* IPv6: (none)
* IPv4: 172.67.160.28, 104.21.14.176
* SOCKS5 connect to 172.67.160.28:80 (locally resolved)
* SOCKS5 request granted.
* Connected to 127.0.0.1 (127.0.0.1) port 1080
> GET / HTTP/1.1
> Host: ip.gs
> User-Agent: curl/8.5.0
> Accept: */*
>
< HTTP/1.1 200 OK
(REDACTED)
* Connection #0 to host 127.0.0.1 left intact
Why I received HTTP/0.9 only when I use proxychains-windows? and allowing HTTP/0.9 with --http0.9 just triggering timeout.
The socks server I ran on my host is from dante sockd, is it somehow related to that?
sockd.conf:
logoutput: stderr
internal.protocol: ipv4 ipv6
internal: lo port = 1080
external: <interface_name>
external.rotation: route
socksmethod: none
clientmethod: none
client pass {
from: 0/0 to: 0/0
log: connect disconnect
}
socks pass {
from: 0/0 to: 0/0
log: connect disconnect
protocol: tcp udp
}
Metadata
Metadata
Assignees
Labels
No labels