0.参考网间资料,有XX故不放出链接,见谅。

1.获取源码

git clone https://github.com/sh/sh.git

cd sh

git checkout -b master origin/master

2.基础

网络七层协议。代理xx器,可以在最上层应用层,比如HTTP、SMTP、Telnet、FTP等等,也可以在传输层TCP和网络IP。在HTTP层,需要解析参数。如果在TCP/IP层,可以做到相当简洁,收到什么就转发什么,省事省心。

Socks4是TCP/IP层的代理XX器。Socks5是Socks4的升级版,除了支持TCP,还支持UDP,以及更多附加功能,支持反向dl,支持ipv6等等等。

使用Socks5,从流程上而言,源地址可以发给它任何东西,它收到后查看一下目标地址,然后把接收的东西原封不动发给目标地址,如果目标地址有返回,它再把返回数据发给源地址。因此,只要一个软件支持Socks5,理论上可以把任意应用层的东西通过Socks5发出去。

Socks5有详细的协议流程。

3.Mur是咋回事

Mur策略之一,上网需要根据域名查询到对应的ip地址,如果把DNS服务修改掉,当浏览器查询ip的时候,返回一个错误的ip地址,那么就不能访问正确网站了。

Mur策略之二,有些人会直接根据ip地址进行访问,这时候可以在网络路由配置上把方位一些IP的路由导向一些不做任何返回的服务器。

Mur策略之三,封锁特定的port。

Mur策略之四,HTTP连接是短链接,通过TCP连接实现的。TCP连接需要三次握手,那么在第二次握手的时候同时向客户和服务端都发送重置命令,TCP连接就无法建立了,具体可以根据各种条件过滤出需要重置的连接。

Mur策略之四,某些情况下会深度检查数据报文内容。

4.原理

普通Socks5的原理是:你<No.1>远程socks5 DL<No.2>目标机。其中,No.1部分是公网的,是可以被那啥的。No.2当然也在公网,但不会被那啥,因为鞭长莫及,你懂的。

那么,咋个让No.1变成不可被XX呢,先搞密,再伪装。

sh的原理是:你<No.1>你本地DL<No.2>远程socks5 DL<No.3>目标机。其中,No.1是你本地的东东,No.2你本地东东被远程东东的连接已经加密且伪装,因此安了。

5.源码概要

s.py是远程DL。l.py是你本地DL。u.py和t.py分别是udp和tcp实现方式。e.py是eventloop事件处理循环。

咋个运行,咋个配置,网上都有,为避免XXX就不写了。

[Mur-001] Mur源码分析之一相关推荐

  1. Spring Cloud源码分析(二)Ribbon(续)

    因文章长度限制,故分为两篇.上一篇:<Spring Cloud源码分析(二)Ribbon> 负载均衡策略 通过上一篇对Ribbon的源码解读,我们已经对Ribbon实现的负载均衡器以及其中 ...

  2. PostgreSQL源码分析

    PostgreSQL源码结构 PostgreSQL的使用形态 PostgreSQL采用C/S(客户机/服务器)模式结构.应用层通过INET或者Unix Socket利用既定的协议与数据库服务器进行通信 ...

  3. java 线程池 源码_java线程池源码分析

    我们在关闭线程池的时候会使用shutdown()和shutdownNow(),那么问题来了: 这两个方法又什么区别呢? 他们背后的原理是什么呢? 线程池中线程超过了coresize后会怎么操作呢? 为 ...

  4. 谷歌chrome浏览器的源码分析(四)

    上一次说到需要调用这个OpenURLFromTab函数,那么这个函数是做什么的呢?从名称上可能猜到它是打开网页,但是是从目前TAB页里打开呢?还是新建一个?或者使用每个TAB页一个进程呢?这些疑惑,只 ...

  5. live555 源码分析:播放启动

    本文分析 live555 中,流媒体播放启动,数据开始通过 RTP/RTCP 传输的过程. 如我们在 live555 源码分析:子会话 SETUP 中看到的,一个流媒体子会话的播放启动,由 Strea ...

  6. live555 源码分析:子会话 SDP 行生成

    如我们在前文 live555 源码分析:ServerMediaSession 中看到的,H264VideoFileServerMediaSubsession 的继承层次体系如下图: 在这个继承层次体系 ...

  7. live555 源码分析: PLAY 的处理

    在 SETUP 请求之后,客户端会发起 PLAY 请求,以请求服务器开始传输音视频数据.在 PLAY 请求执行时,一定是已经执行过 SETUP 请求,建立好了客户端会话,因而会与其它要求客户端会话已经 ...

  8. java多线程系列:ThreadPoolExecutor源码分析

    前言 这篇主要讲述ThreadPoolExecutor的源码分析,贯穿类的创建.任务的添加到线程池的关闭整个流程,让你知其然所以然.希望你可以通过本篇博文知道ThreadPoolExecutor是怎么 ...

  9. Spring Cloud部分源码分析Eureka,Ribbon,Feign,Zuul

    Eureka SpringCloud Eureka使用NetFlix Eureka来实现的,它包括了服务端组件和客户端组件,并且都是用java 编写的. Eureka服务端就是服务注册中心, Eure ...

  10. java多线程系列:ThreadPoolExecutor源码分析,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

最新文章

  1. php判断一个数是否是回文数,每周一道算法题001:回文数
  2. Python自然语言处理工具包推荐
  3. 特征抽取--标签与索引的转化: IndexToString
  4. 华为手机logcat不出日志解决方案
  5. 可惜Java中没有yield return
  6. pca 累积方差贡献率公式_机器学习数据降维方法:PCA主成分分析
  7. 华三防火墙h3cf100配置双宽带_H3C新一代F100系列防火墙评测报告
  8. ftp服务器收集文件,ftp服务器收集文件
  9. spark--环境搭建--4.ZooKeeper345集群搭建
  10. 算法:24.两两交换链表中的节点
  11. 无线充电原理与QI协议详解
  12. 张小庆,在路上(2)
  13. 淘宝图片服务器的学习
  14. 荣耀 android 5.0 root,华为EMUI5.0 可用的ROOT工具,我是作者!!!!——精华帖
  15. 地球上第一款测身高的安卓手机应用——AR 测身高
  16. SWA(随机权重平均)
  17. 【LGP5108】仰望半月的夜空
  18. mac恢复出厂设置_如何恢复Mac的出厂设置
  19. UC浏览器下载的视频有k0或key.key或者0.key文件 破解加密将零散的视频合并一个mp4
  20. 重谈联想5G编码投票事件

热门文章

  1. 众享比特副总裁陈鸿刚:区块链技术在工业互联网中的应用
  2. VSCode嵌入式硬件开发环境设置
  3. 华为云CCE集群节点磁盘告警处理
  4. 为什么要早点进入软件测试行业?现在加入晚了吗?
  5. Java(9)接口练习 运动员和教练
  6. 华硕飞行堡垒系列无线网经常显示“无法连接网络” || 一打开游戏就断网
  7. 大数据进阶(二):数据可视化和分析工具推荐
  8. R语言使用贝叶斯层次模型进行空间数据分析
  9. 常用邮箱、网盘地址列表
  10. JavaScript 运动框架