写一个简单的socket传送文件或者字符串(或者netty,mina下传),这种是TCP通道吗?会被大多数防火墙拦截吗?很多资料说用封装成HTTP协议就不太容易被防火墙拦截,小弟不明白HTTP协议是在TCP之上的,如果TCP通道被拦截,那HTTP肯定被拦截啊,难道防火墙会区别原始的没有包装的数据?

解决方案 »

  1.   

    ◎写一个简单的socket传送文件或者字符串(或者netty,mina下传),这种是TCP通道吗?会被大多数防火墙拦截吗?
    —— 一般是走TCP通道,除非你发送采用UDP模式。对于安全规范较高的会被拦截,不过现在很多个人防火墙也会拦截这些“它们不熟悉的端口通讯”。◎很多资料说用封装成HTTP协议就不太容易被防火墙拦截,小弟不明白HTTP协议是在TCP之上的,如果TCP通道被拦截,那HTTP肯定被拦截啊,难道防火墙会区别原始的没有包装的数据?
    —— HTTP协议确实是在TCP之上的;
    —— 防火墙拦截一般基于两个策略:1、端口;2、应用层协议;
    —— 防火墙确实能区别不少应用层协议格式,这就是为什么有的地方防火墙可以拦截BT下载,网页上看Flash电影什么的;
    —— 封装成HTTP协议是指,你整个交互过程就跟浏览器向服务器发送 HTTP-GET 请求一样,这样防火墙一般会认为你这是正常的浏览网页,就不会去封杀你了。