标签: socks

通过 EC2 实例之间的 SSH 隧道使用袜子代理进行 Curl 失败:“curl:(7) 无法接收 SOCKS5 连接请求确认。”

我在通过 AWS 中的两个 EC2 实例之间的简单 SSH 隧道设置袜子代理时遇到了卷曲问题。

box1 $ ssh -v -D 12345 ubuntu@box2 -N
[...]
Run Code Online (Sandbox Code Playgroud)

袜子代理似乎在端口 12345 上正常运行,现在当我尝试通过它进行卷曲时:

box1 $ curl -x socks5h://localhost:12345 www.google.com
curl: (7) Failed to receive SOCKS5 connect request ack.
Run Code Online (Sandbox Code Playgroud)

回到 ssh -D 窗口,当我运行curl命令时出现此错误:

debug1: Connection to port 12345 forwarding to socks port 0 requested.
debug1: channel 1: new [dynamic-tcpip]
channel 1: open failed: administratively prohibited: open failed
debug1: channel 1: free: direct-tcpip: listening port 12345 for www.google.com port 80, connect from 127.0.0.1 port 36240 to …
Run Code Online (Sandbox Code Playgroud)

ssh proxy curl amazon-ec2 socks

4
推荐指数
1
解决办法
4322
查看次数

无法使用Python通过socks5代理发送请求

我试图通过代理(socks5)发送http/https 请求,但我无法理解问题是否出在我的代码中或代理中。

我尝试使用这段代码,但它给了我一个错误:

requests.exceptions.ConnectionError: SOCKSHTTPSConnectionPool(host='www.google.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSHTTPSConnection object at 0x000001B656AC9608>: Failed to establish a new connection: Connection closed unexpectedly'))
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import requests

url = "https://www.google.com"


proxies = {
    "http":"socks5://fsagsa:sacesf241_country-darwedafs_session-421dsafsa@x.xxx.xxx.xx:31112",
    "https":"socks5://fsagsa:sacesf241_country-darwedafs_session-421dsafsa@x.xxx.xxx.xx:31112",
    }

headers = {
        "Upgrade-Insecure-Requests": "1",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "Sec-Gpc": "1",
        "Sec-Fetch-Site": "same-origin",
        "Sec-Fetch-User": "?1",
        "Accept-Encoding": "gzip, deflate, br",
        "Sec-Fetch-Mode": "navigate",
        "Sec-Fetch-Dest": "document",
        "Accept-Language": "en-GB,en;q=0.9"
    }


r = …
Run Code Online (Sandbox Code Playgroud)

python proxy socks python-requests

4
推荐指数
2
解决办法
6269
查看次数

袜子4绑定请求说明

我正在阅读这个主题 http://ftp.icm.edu.pl/packages/socks/socks4/SOCKS4.protocol

我想要做的是:我有一个客户端/服务器应用程序,我想要做的是使用socks 4 BIND请求将我的服务器绑定到远程socks服务器,并使客户端连接到该socks服务器和袜子服务器将使他们连接到我的服务器(至少这就是我如何理解袜子BIND请求)

但我不完全理解它(我的英语有点不好),我问的是,当我不知道客户的任何远程IP时,是否可以这样做?因为服务器的BIND请求包必须包含远程客户端的地址,并且我真的没有,因为客户端来自未知用户从我的服务器检索状态信息(或者我可以使用0作为INANY_ADDR)?

proxy connect socks

3
推荐指数
1
解决办法
2703
查看次数

基于 Putty SSH 隧道的 VisualVM

我正在尝试分析远程 Java 应用程序,实际上它是一个游戏服务器。它在我的本地机器(带有 JDK1.7.0_02 x64 的 Windows XP x64)上正常工作,但在生产服务器(带有 JDK1.7.0_03 i586 的 CentOS)上表现得非常奇怪。

我做了很多搜索,发现我应该使用 VisualVM 来完成这项任务。所以 VisualVM 在本地机器上运行良好,但在本地机器上没有挂起,我需要在生产环境中使用真实有效负载进行分析。我用参数在远程机器上启动了 jstatd

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=false &
Run Code Online (Sandbox Code Playgroud)

与策略文件

grant codebase "file:/usr/java/jdk1.7.0_02/lib/tools.jar" {
    permission java.security.AllPermission;
};
Run Code Online (Sandbox Code Playgroud)

然后我像这样启动了我的 Java 应用程序

java -server -Dcom.sun.management.jmxremote\
 -Dcom.sun.management.jmxremote.port=4000\
 -Dcom.sun.management.jmxremote.ssl=false\
 -Dcom.sun.management.jmxremote.authenticate=false\
 -jar /home/pinballSocketServer/pinballSocketServer.jar
Run Code Online (Sandbox Code Playgroud)

application 和 jstatd 都以 root 权限启动。

并且 VisualVM 无​​法连接到远程主机。但是在远程主机上,我看到以下日志,而 VisualVM 正在运行并添加了远程主机:

Feb 16, 2012 7:11:52 PM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(3)-217.16.27.195: [217.16.27.195: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
Feb 16, 2012 7:11:56 PM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(3)-217.16.27.195: …
Run Code Online (Sandbox Code Playgroud)

jmx visualvm socks jstat ssh-tunnel

3
推荐指数
1
解决办法
1万
查看次数

如何通过 SOCKS 代理发送 UDP 数据包

我正在查看定义袜子服务器时我的计算机生成的流量。我在互联网上阅读并发现也可以通过代理服务器路由 udp。当我尝试使用使用 UDP 并允许袜子设置的不同应用程序时,它仅将其用于 TCP 流量。为什么?我已经定义了 SOCKS5,因为我知道 v4 不支持 udp(为什么?)我尝试了一个例子,Vuze 客户端 - 它的专家模式允许优先选择 udp 流量,设置袜子服务器,甚至在这一点上,任何 udp 都直接发送到对等点。我的愿望是监视流量并查看其传输方式,是通过 UDP 与袜子服务器连接,还是实际上以 TCP 连接到袜子服务器并发送数据,然后通过 udp 发送到目的地?

networking udp tunneling socks

3
推荐指数
1
解决办法
2万
查看次数

SSH上的公共socks代理

所以我能够创建一个本地的socks代理,sudo ssh -D 8080 user@server 我只能从我的机器访问它:

nmap -p 8080 127.0.0.1
8080/tcp open  http-proxy
Run Code Online (Sandbox Code Playgroud)

但是,无法从我的本地网络访问此代理:

nmap -p 8080 192.168.1.10
8080/tcp closed  http-proxy
Run Code Online (Sandbox Code Playgroud)

我尝试过端口转发,但似乎没有解决问题(除非我做错了)我在Mac上,顺便说一下.

解决方案?

ssh proxy socks netcat

3
推荐指数
1
解决办法
3076
查看次数

使用词干切换标识时,常规SOCKS服务器故障

我在端口9150上的远程服务器(Ubuntu)上运行Tor,控制端口在9151上.我已确认两者都是通过netstat -ant运行的.

这是我的代码,它引出了SOCKS5Error: 0x01: General SOCKS server failure错误.

import socks
import socket
socks.set_default_proxy(socks.SOCKS5, server_ip, 9150)
socket.socket = socks.socksocket
Run Code Online (Sandbox Code Playgroud)

我可以从任何库发出请求,并成功获得带有转发地址的响应.

但是以下是导致错误的原因:

from stem import Signal
from stem.control import Controller

with Controller.from_port(port = 9151) as controller:
  controller.authenticate(password)
  controller.signal(Signal.NEWNYM)
Run Code Online (Sandbox Code Playgroud)

如果我在没有使用socks(第一个代码片段)设置代理的情况下运行上述操作,我可以毫无问题地发出信号.

python proxy tor socks web-scraping

3
推荐指数
1
解决办法
7674
查看次数

无法从袜子中确定 SOCKS 版本

使用代理连接(HTTP 代理:10.3.100.207,端口 8080)。使用python的请求模块的get函数,得到如下错误:

“无法从socks://10.3.100.207:8080/确定SOCKS版本”

proxy socks python-requests

3
推荐指数
1
解决办法
8641
查看次数

pip install不起作用,InvalidSchema:缺少SOCKS支持的依赖项

我对这个错误感到害怕,我被打了2天.2天前激活了我的virtualenv,然后尝试安装一些依赖项,但pip install不断抛出此错误.

pip install django
Traceback (most recent call last):
  File "/home/blackpython/.local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/home/blackpython/.local/lib/python2.7/site-packages/pip/commands/install.py", line 335, in run
    wb.build(autobuilding=True)
  File "/home/blackpython/.local/lib/python2.7/site-packages/pip/wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "/home/blackpython/.local/lib/python2.7/site-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/home/blackpython/.local/lib/python2.7/site-packages/pip/req/req_set.py", line 554, in _prepare_file
    require_hashes
  File "/home/blackpython/.local/lib/python2.7/site-packages/pip/req/req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/home/blackpython/.local/lib/python2.7/site-packages/pip/index.py", line 465, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/home/blackpython/.local/lib/python2.7/site-packages/pip/index.py", line 423, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/home/blackpython/.local/lib/python2.7/site-packages/pip/index.py", …
Run Code Online (Sandbox Code Playgroud)

python pip socks

3
推荐指数
2
解决办法
1万
查看次数

HTTP反向代理,TCP代理,Socks5代理之间的区别?

这是我对这些内容的理解,我发现其中几乎没有差距。特别是何时何地使用

HTTP代理:

  • 可以用作TLS终止代理
  • 可用于修改HTTP标头
  • 可用作DMZ前面的负载平衡器或公共IP提供程序以屏蔽后端服务器

TCP代理

  • 可以用作TCP连接的反向代理,不仅可以支持HTTP,还可以支持其他应用程序层协议,例如FTP

我的问题

  • 如果我只接受HTTP网络流量,那么应该使用TCP代理而不是HTTP代理的用例是什么?
  • 这种理解是联系吗?TCP客户端可以连接到TCP代理上的单个套接字,而TCP代理可以打开与后端服务器的多个连接,类似于负载平衡器

SOCKS5代理

  • 来自维基百科

套接字安全(SOCKS)是一种Internet协议,它通过代理服务器在客户端和服务器之间交换网络数据包。SOCKS5还提供身份验证,因此只有授权用户才能访问服务器。实际上,SOCKS服务器将TCP连接代理到任意IP地址,并为UDP数据包转发提供了一种方法。

SOCKS在OSI模型的第5层(会话层,表示层和传输层之间的中间层)执行。SOCKS服务器在TCP端口1080上接受传入的客户端连接

我的问题

  • Web应用程序中SOCKS代理的用途是什么
  • TCP和SOCKS5代理之间的区别
  • 在TCP / IP模型中是传输层协议
  • 代理UDP连接的用例是什么

proxy networking tcp socks web

3
推荐指数
1
解决办法
4282
查看次数