liaotian




那个翻墙软件的核心是啥

乔克阿叔  20:21:12

那个洋葱头,好像就是帮你找路由路径是吧

邓波  20:21:30

截获客户端数据,发送至一个国外的服务器,然后转发。

只是截获客户端数据有多种方式

邓波  20:22:00

我们这里正做的一种是建立一个虚拟网卡,截获ip包,在服务器直接路由出去

邓波  20:22:15

中间过程加密,别人不知道你访问的是什么

乔克阿叔  20:23:00

虚拟网卡 咋建立啊。。要自己实现网卡?

邓波  20:24:16

有个开源的,用驱动弄一个虚拟网卡,自己设置路由表,要访问的数据自动路由到虚拟网卡里的,驱动里有个链表,保存ip包,你再上层直接read这个网卡就返回链表里的数据

邓波  20:24:39

驱动代码也不多,linux下还是内核自带的驱动

乔克阿叔  20:27:09

高深!

邓波  20:27:28

其实不高深,挺简单的,你接触下就会了

乔克阿叔  20:28:29

那ip包还经过原来的网卡么?

邓波  20:29:47

不经过了,虚拟网卡装上以后,相当于你有两个网卡,ip包由路由表分发到某个网卡上发送出去,只不过虚拟网卡没有发,只是存着,返到上层由加密隧道发出去

乔克阿叔  20:30:56

也就是说这个技术的核心在于加密?

邓波  20:31:19

加密也就用OpenSSL直接发,说到底核心技术都是开源的

邓波  20:31:46

加密传输和截获数据这两点应该是核心技术,不过我们都不用自己写

乔克阿叔  20:32:06

等等,我理理

邓波  20:32:42

呵呵,你想想,过程不复杂,别想太高深

乔克阿叔  20:34:53

加密完了,还这么路由啊

乔克阿叔  20:35:02

加密完了,还怎么路由啊

邓波  20:36:15

加密之后发送到服务器,服务器解密,这时已经成明文了,服务器还是利用虚拟网卡,写到tcp/ip协议栈里,服务器再设置路由功能,就路由出去了

也就是中间的过程是加密的

邓波  20:36:23

到达内网就解密了

邓波  20:36:35

要是翻墙,就是把整个国外作为内网

乔克阿叔  20:38:46

哦,就是说服务器 和 客服端 是在同一个内网

邓波  20:39:48

客户端再外网,服务器在内网,外网用户是无法访问内网的,因为不安全,客户端要是把数据加密之后传到服务器,中间的过程就安全了

邓波  20:40:50

vpn就是保护外网到内网这段,显得大家都再内网,传输数据有个安全的保障

乔克阿叔  20:41:38

乔克阿叔  20:41:52

这个是对vpn的解释吧

邓波  20:42:22

我的理解是这样的

邓波  20:43:17

就想一个公司全国都有分公司,分公司连总部中间要是直接连到内网,没有加密保护,敏感数据就可能被人截获,中间加密了就安全了

乔克阿叔  20:43:40

嗯,是这样

乔克阿叔  20:44:11

就是数据在返回时会经过加密对吧

邓波  20:44:26

是,中间的整个通讯都是加密的

乔克阿叔  20:44:59

包括连接这个动作,外界也无法截获?

邓波  20:46:05

连接时是ssl握手,我不了解这个加密过程,但是这个是成型的模型,应该不会被人轻易解密

乔克阿叔  20:47:02

哦!

乔克阿叔  20:47:17

你现在是网络高手了!!!

邓波  20:47:26

不行啊,很多不懂的

邓波  20:47:34

只是知道一点我们做的这个

邓波  20:47:52

除了用到vpn上以外还没发现能用到哪里

乔克阿叔  20:49:17

还有个问题,那个虚拟网卡的作用主要是:截获数据再加密吗?

邓波  20:49:51

虚拟网卡仅仅是截获数据,放到链表,当用户层请求时返回数据,加密的过程由上层处理

乔克阿叔  20:52:29

哦,截获是为了 给它加密?

邓波  20:53:13

主要是转发到服务器,这样能实现通讯,加密是为了安全,都需要

乔克阿叔  20:54:33

哦,就是说原来发往Facebook服务器的,现在被你截获了,你把他路由到你的server上

邓波  20:54:50

恩,是啊

邓波  20:55:05

过程加密这样防火墙也不知道客户是访问的Facebook还是baidu

乔克阿叔  20:55:25

那这样,这么回包啊

乔克阿叔  20:55:46

回来时,server咋知道往哪回

邓波  20:56:46

可以在服务器端路由转发的时候做nat处理,这样Facebook就可以回到服务器了,服务器那里有个客户端的列表,虚拟网卡的虚拟地址跟真实地址的对应表,直接socket发到客户端,客户端再通过虚拟网卡返回给上层

乔克阿叔  20:58:02

高深!!

乔克阿叔  20:58:08

这才是做项目。。。。。

乔克阿叔  20:58:13

佩服!!

邓波  20:58:32

呵呵,都是由开源的和系统自己处理的,关键点是我们做的并不多

邓波  20:58:43

如果这些全都由我们自己做,才叫项目

乔克阿叔  20:59:04

能用,已经很牛x了

乔克阿叔  20:59:13

能用,最起码懂了一大半了

邓波  21:00:04

就是设置下,很多东西不知其所以然,我还是努力去读驱动,希望能理解更多点,不过加密那块还是不懂,OpenSSL太厉害了

乔克阿叔  21:00:43

呵呵。!,你是指它的加密算法不懂么

邓波  21:01:39

加密算法是一块,还有ssl握手过程,这个流程不懂

乔克阿叔  21:02:24

哦,我也对这个握手流程很好奇。。。等你研究懂了,灌输我一点!!

邓波  21:02:59

呵呵,可能短期是很难研究通了

乔克阿叔  21:03:13

呵呵。。

乔克阿叔  21:03:17

你还在公司么

发布了1 篇原创文章 ·
获赞 1 ·
访问量 425