能力值:
( LV2,RANK:10 )
|
-
-
2 楼
楼主博览群书,厚积薄发是我的榜样!
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
这东西这么搞太复杂了
只需要在中间层截获需要加解密的包,然后把包内容传到应用层:
1、对于发送出去的包,应用层对整个以太网包直接加密后,以socket方式发送到网络对端;网络对端收到数据包后,直接解密得到原始以太网包,然后还是通过中间层驱动,直接向本机转发这个以太网包就够了。
2、中间层收进来的数据包,可以不管。。。。只需要监听指定端口发来的数据(上述步骤1来的socket数据),然后解密,解密后通过中间层驱动提交到协议栈(这一步实际在步骤1说了)
总结一句就是,加解密以及规则什么的,这些都在应用层做,不要搞到内核去了。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
干脆连截取数据包都放在r3
r0负责堵漏就好……
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
不是所有的数据包你都在r3抓的到到的
楼主这个东西实际上就是个自定义协议的vpn,就这点而言,中间层是不合适的
|
能力值:
( LV12,RANK:210 )
|
-
-
6 楼
额……我当时的想法是对局域网所有传输的数据包进行加密,保证内网安全,也就是说不是做成端到端的软件,所以才考虑用中间层截获数据包的,因为中间层可以获取到几乎所有数据包然后在用户不知不觉中加密,做到透明……
|
能力值:
( LV3,RANK:30 )
|
-
-
7 楼
即使如此,按我那个方式,一样可以做到,
具体来说,你这么做,实际上那些要被加解密的数据是只可能在内网流通的,你所有机器都同时监听同一个udp端口,收到后做解密然后转发到本机协议栈,发出去的做加密,然后直接发到目的机器的那个udp端口……一样的效果
关于目的机器的确定,ip包来说,直接ip就是了……非ip包,因为你的目的是防止数据外流,而非ip包是不可能外流的,只可能在局域网……所以就可以不管
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
抓不到的不准往外发
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
但是你这个设计逻辑似乎有可能被绕过吧……
顺便说句……我以前还有个设想……用虚拟网卡驱动做做物理隔离,不用网线,不过实现太复杂了
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
为什么被绕过……再者,所谓虚拟网卡实现那东西,这正是我上面没说完的……中间层虽然也能有一样的效果,不过用端口驱动实现虚拟网卡才是最合适的
还是那句话,这东西本质上就是个自定义协议的vpn
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
嗯,是的……
|
能力值:
( LV12,RANK:210 )
|
-
-
12 楼
道理是对,但“应用层对整个以太网包直接加密后,以socket方式发送到网络对端” 意思是我的数据还要实现经过应用层程序处理?那我想对QQ数据也加密呢?
|
能力值:
( LV3,RANK:30 )
|
-
-
13 楼
这个本来就是要求通信的两端都必须有你的程序的……比如按照即使按照楼主之前的思路,还是q来说,他如果直接把q发出去的数据加密了……腾讯那边服务器不是一样不认识这些加密数据……这个和vpn是一样的情况……你用vpn,还不是一样是客户端和服务器端分别做了加解密的
|
能力值:
( LV3,RANK:30 )
|
-
-
14 楼
多谢楼主分享,学习下
|
能力值:
( LV12,RANK:210 )
|
-
-
15 楼
好吧,用到Q就涉及到外网了,我之前就每主机装驱动,局域网各种数据FTP telnet 飞秋都可以加密。如果应用层的话,怎对FTP telnet 飞秋加密?
|
能力值:
( LV3,RANK:30 )
|
-
-
16 楼
有区别么。。。。
直接在发出数据时,整个以太网包传到应用层,加密后以udp的socket发到目的ip,目的ip收到后,解密得到原始以太网包,然后通过驱动转发到本机协议栈。。。。
|
|
|