免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5022 | 回复: 11
打印 上一主题 下一主题

[网络子系统] 通过URL规则转发数据包到指定的端口 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-17 14:54 |只看该作者 |倒序浏览
本帖最后由 xiewayne 于 2014-03-17 14:55 编辑

各位好,请教一个问题,如何能够实现一个根据URL规则进行数据包转发到本机特定端口的程序。
由于URL的内容是应用层上,如果通过netlink,l7filter等实现,可行性如何,复杂度有多大?

类似于在以下命令的基础上增加URL的规则的判断:
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128

感谢!!

论坛徽章:
0
2 [报告]
发表于 2014-03-17 18:56 |只看该作者
这个首先要理解网络是分层的
http是7层
tcp是4层
4层如果握手,双方连接后,就已经具有端口了,后续走链接跟踪
你再想转发到新端口这种实现方式,肯定是理论可行,搞起来效率不好,还麻烦

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
3 [报告]
发表于 2014-03-17 19:57 |只看该作者
回复 1# xiewayne
这个可以利用http协议(302)+iptables实现

   

论坛徽章:
0
4 [报告]
发表于 2014-03-18 10:18 |只看该作者
回复 2# kkddkkdd11

感谢回复!
我有尝试用iptables的 -m string,但也是未成功的,了解了下,才知拒绝可以,但转发应该是不行的。。。
但网上找了下,这样的转发需求也还是有的,不知是否已有工具程序可以达到这个效果呢?


   

论坛徽章:
0
5 [报告]
发表于 2014-03-18 11:52 |只看该作者
瀚海书香 发表于 2014-03-17 19:57
回复 1# xiewayne
这个可以利用http协议(302)+iptables实现


版主:)
如果都302了,就可不玩iptables了
直接在url里边带端口了

论坛徽章:
0
6 [报告]
发表于 2014-03-18 11:55 |只看该作者
xiewayne 发表于 2014-03-18 10:18
回复 2# kkddkkdd11

感谢回复!


编个模块可以的
内核判断url,然后是否把包入队列
然后在0级或者3级做包操作,然后复制包,再发出去 :)

论坛徽章:
0
7 [报告]
发表于 2014-03-18 14:28 |只看该作者
回复 3# 瀚海书香
感谢版主回复,可否理解为要先与来访者建立http连接的,再进行302重定向。
我的目的是80端口的http包均转给固定的某个端口上,发来的包有可能并不是发给本机的,本机是一个双网卡bridge模式。。
事先我会用
ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT
进行包的接收。


   

论坛徽章:
0
8 [报告]
发表于 2014-03-18 14:31 |只看该作者
纠正下,7楼回复中的 “均转给固定的某个端口上” 应该是 “按URL的一些规则转给某端口”

论坛徽章:
0
9 [报告]
发表于 2014-03-18 14:51 |只看该作者
回复 6# kkddkkdd11


    能详细说明下吗?

如果是不同端口,怎么复制转发出去?这个时候没有握手,没有建链啊

论坛徽章:
0
10 [报告]
发表于 2014-03-18 14:54 |只看该作者
本帖最后由 xiewayne 于 2014-03-18 15:32 编辑
kkddkkdd11 发表于 2014-03-18 11:55
编个模块可以的
内核判断url,然后是否把包入队列
然后在0级或者3级做包操作,然后复制包,再发出去  ...


是否是指在收到一个的TCP连接头时,判断其中是否有匹配的URL,如果存在,则将包里端口改为指定的,再放回网络栈。。
此时要能够识别出之后是这个连接的包都这样转。。。
可否详述下!:wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP