[原创]socks代理篇:工具Proxifier+regeorg的联合运用

2014-11-30 14:12:10 31 19835 1


关于socks代理,据笔者理解,他应该是从osi通信层进行全局代理。关于这个,论坛里的大神求科普。(socks代理与socket通信有什么区别?)
关于socks代理,笔者百试不爽,在以往的帖子中有所提汲,《ssh socks动态端口转发在项目中的应用》《php动态socket代理脚本怎么写》《关于webshell下socket代理反弹的事情》
在后面两个帖子中笔者得知reGeorg的确是一个好东西。
能拿到socks代理,那就爽了,大多数软件(语言)支持socks代理,进行数据代理就可以无视内网了。
笔者遇到的问题如下:
一个内网的svn:外网可以访问部分代码仓库
假设这个svn仓库根地址为 https://111.111.111.111:2222/m20
有一个代码分支库名字分别为
https://111.111.111.111:2222/m20/repo1
他还引用内网的
https://192.126.111.125:2222/m20/repo1

https://111.111.111.111:2222/m20/repo1是通过某种端口转发手段把内网192.126.111.125:2222映射到公网。而192.126.111.125就是真正svn仓库的内网Ip地址
那么问题来了:每次更新代码,引用的部分没办法更新,每次都要进内网,烦不烦?
最近得知regeorg可以获得socks代理,今天偶尔想起Proxifier可以在windows设置全局socks代理,笔者想:用regeorg+Proxifier应该能代理进内网了?
于是写了一个
python reGeorgSocksProxy.py -p 8080 -u [url]http://111.111.111.111/1.php[/url]
然后在Proxifier设置了socks代理,问题就解决,可以顺便访问内网。贴图为证。




笔者使用regeorg遇到一问题:
Exception in thread Thread-115:
Traceback (most recent call last):
  File "D:\develop\Python27\lib\threading.py", line 810, in __bootstrap_inner
    self.run()
  File "D:\develop\Python27\lib\threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "reGeorgSocksProxy.py", line 324, in writer
    raise ex
error: [Errno 10053]
根据Errno 10053搜索,网上说可以在accept之前暂停几秒。
也就是可以在在
 while True:
        try:
            sock,addr_info=servSock.accept()
            sock.settimeout(SOCKTIMEOUT)
            log.debug("Incomming connection")
            session(sock,args.url).start()
        except KeyboardInterrupt,ex:
            break
        except Exception,e:
            log.error(e)
设置线程延迟。是否有机油愿意改进一下regeorgproxy.py,添加一个可选参数 [-w],允许一个线程延迟特定的毫秒
然后执行 python reGeorgSocksProxy.py -h
得到 usage: reGeorgSocksProxy.py [-h] [-l] [-p] [-r] -u  [-v] [-w]
如果填写 -w 10 将允许线程延迟10毫秒

关于作者

该隐55篇文章1058篇回复

街头要饭的

评论31次

要评论?请先  登录  或  注册
  • 11楼
    2014-12-1 12:14

    没有搞明白,那个111.111.111.111/1.php是你能控制改写的吗??

  • 10楼
    2014-12-1 09:33
    zafe

    如果要代理sql查询分析器应该代理哪个进程?

    1
    该隐

    按上面提到的方法

    2
    zafe

    就是不想全局代理,单独只代理查询分析器是不行的

    3

    可以设定代理规则的,你试试

  • 9楼
    2014-11-30 23:09

    很好用 webshell端口转发进内网

  • 8楼
    2014-11-30 19:58
    zafe

    如果要代理sql查询分析器应该代理哪个进程?

    1
    该隐

    按上面提到的方法

    2

    就是不想全局代理,单独只代理查询分析器是不行的

  • 7楼
    2014-11-30 18:51

    不错的开源项目

  • 6楼
    2014-11-30 16:10
    zcgonvh

    socks就是端口转发,只不过在最开始连接时有几个字节的握手协议,之后什么都不管一直转发就是了,基本可以认为是应用层的东西,可以看看rfc1928和1929socket通信可以理解为网络连接,其实就是socket的字面意思,两个计算机之间用于通信的插槽(凹<=>凸)

    1

    osi 7层中有一个通信层,经常看到编程会有socketexception之类问题,这个表示通信失败,和你说的socket是一回事吗。我了解最多的是rfc2616

  • 5楼
    2014-11-30 15:37

    socks就是端口转发,只不过在最开始连接时有几个字节的握手协议,之后什么都不管一直转发就是了,基本可以认为是应用层的东西,可以看看rfc1928和1929 socket通信可以理解为网络连接,其实就是socket的字面意思,两个计算机之间用于通信的插槽(凹<=>凸)

  • 4楼
    2014-11-30 15:10
    zafe

    如果要代理sql查询分析器应该代理哪个进程?

    1

    按上面提到的方法

  • 3楼
    2014-11-30 14:45

    如果要代理sql查询分析器应该代理哪个进程?

  • 2楼
    2014-11-30 14:24
    下玄月

    Proxifier+reGeorg一直这么用 很好使

    1

    机智的二楼

  • 1楼
    2014-11-30 14:19

    Proxifier+reGeorg一直这么用 很好使