免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1106 | 回复: 2

[网络子系统] 如何在qdisc发包时获取pptp报文最里面的ip header [复制链接]

论坛徽章:
8
羊年新春福章
日期:2015-03-19 02:03:312015亚冠之北京国安
日期:2015-06-16 22:04:45程序设计版块每日发帖之星
日期:2015-06-23 22:20:00每日论坛发贴之星
日期:2015-06-23 22:20:002015亚冠之首尔
日期:2015-06-24 19:18:072015亚冠之广州恒大
日期:2015-08-06 10:29:442015亚冠之柏太阳神
日期:2015-11-02 11:21:0515-16赛季CBA联赛之辽宁
日期:2015-12-09 15:05:02
发表于 2014-11-10 17:14 |显示全部楼层
本帖最后由 firocu 于 2014-11-14 17:00 编辑

内核版本:3.3.8

pptp报文的格式
Data link header | IP1 |  GRE | PPP | IP2

我想在qdisc的dequeue的发包流程中 取出 最里面的IP2头部. 拿到原始报文的源地址, 做流量识别.

因为PPP header我看到不是固定大小, 不知道怎么取偏移.

大家看看有什么思路.

========我是答案=========

路由器上pptp vpn的发包流程是

用户PC -> 路由器lan -> forward -> pptp-vpn iface ->路由到-> eth iface.

我在lan口的prerouting, 给skb打上MARK, 在pptp-vpn的qdisc dequeue方法中根据skb的mark, 统计报文.

FAQ
1. 为什么不能在eth iface的 qdisc dequeue 方法中, 识别到skb->mark
因为在ppp_send_frame 中skb被重新分配了, mark值丢失了. 如果想着eth 的dequeue 中识别你要自己修改下ppp_send_fame, 处理下.
2. pptp 流量中的ct变化.
PC -> pptp-vpn 每个连接对应一个ct.
pptp-vpn 到 eth -> pptp server 所有被代理的skb 公用一个gre 的call id, 也就是只有一个ct.

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
发表于 2014-11-11 21:49 |显示全部楼层
每一种包头都会有可变的字段,但对于某一特定报文,都可以从头部的指示得到确定性的信息,包括PPP。因此你需要估的就是解析PPP header,而非简单的跳过指定的长度。

论坛徽章:
8
羊年新春福章
日期:2015-03-19 02:03:312015亚冠之北京国安
日期:2015-06-16 22:04:45程序设计版块每日发帖之星
日期:2015-06-23 22:20:00每日论坛发贴之星
日期:2015-06-23 22:20:002015亚冠之首尔
日期:2015-06-24 19:18:072015亚冠之广州恒大
日期:2015-08-06 10:29:442015亚冠之柏太阳神
日期:2015-11-02 11:21:0515-16赛季CBA联赛之辽宁
日期:2015-12-09 15:05:02
发表于 2014-11-12 17:14 |显示全部楼层
有道理.

我之前看过ppp_input的解析流程, 有点复杂, 主要是因为我不熟悉ppp协议.

现在已经有了解决方案. 回头分享一下.

回复 2# Tinnal


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP