免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5461 | 回复: 12

[网络子系统] ip_finish_output(mc); //ip_finish_output具体作用?不查看路由器表直接将mc发出去? [复制链接]

论坛徽章:
0
发表于 2012-08-07 17:48 |显示全部楼层
本帖最后由 lujian19861986 于 2012-12-20 09:11 编辑

//为了实现实现:内网第一次访问www.baidu.com时,复制HTTP GET请求包,并篡改payload为HTTP响应包,HTTP头部信息或者html代码做一个重定向

//输入:pskb为原包,lanip为eth0的IP
//输出:成功篡改GET发送http响应包返回0
int ipct_output_http_response(const struct sk_buff **pskb, unsigned int lanip)
{      
        xxx
        return 0;
}

论坛徽章:
0
发表于 2012-08-07 17:52 |显示全部楼层
跪求大牛讲解以上代码作用, 以上函数在ip_conntrack_in()中调用,每一个session建立前,都进入该函数,所以识别HTTP GET请求包后,想复制并篡改HTTP GET请求包

论坛徽章:
0
发表于 2012-08-07 18:00 |显示全部楼层
问题1:
if( __ip_route_output_key(&rt, &fl) ) //请问具体作用是?查看路由表信息?

问题2:
//new_tcph->check会在ip_finish_output重新校验,设置校验和?
//new_tcph->check = csum_tcpudp_magic(new_iph->saddr, new_iph->daddr, datalen, IPPROTO_TCP,csum_partial((char *)new_tcph,datalen,0));

问题3:
ip_finish_output(mc); //ip_finish_output具体作用?不查看路由器表直接将mc发出去?mc这个申请空间会不会释放?

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2012-08-07 21:20 |显示全部楼层
这个帖子哪里@我了啊?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2012-08-07 21:21 |显示全部楼层
回复 1# lujian19861986
那你发个劫持 GET 之后,发个 HTTP 重定向多好啊


   

论坛徽章:
0
发表于 2012-08-08 06:50 |显示全部楼层
Godbach 发表于 2012-08-07 21:21
回复 1# lujian19861986
那你发个劫持 GET 之后,发个 HTTP 重定向多好啊

正解

论坛徽章:
0
发表于 2012-08-08 12:25 |显示全部楼层
回复 5# Godbach


    劫持到GET包后,你是说篡改为HTTP头,加栏位
  1. Location: http://192.168.1.1/eboard.htm
复制代码
,是吗?我看了电信的包是这样的。
但是用javascript重定向也是可以的,
  1. document.location.href="http://192.168.1.1/eboard.htm"
复制代码

论坛徽章:
0
发表于 2012-08-08 12:35 |显示全部楼层
本帖最后由 lujian19861986 于 2012-08-08 12:36 编辑

回复 5# Godbach


问题1:
  1. if( __ip_route_output_key(&rt, &fl) )
复制代码
请问具体作用是?查看路由表信息?

问题2:
new_tcph->check会在ip_finish_output重新校验,设置校验和?跑了ip_finish_output后new_tcph->check会重新被赋值
  1. new_tcph->check = csum_tcpudp_magic(new_iph->saddr, new_iph->daddr, datalen, IPPROTO_TCP,csum_partial((char *)new_tcph,datalen,0));
复制代码
  1. return NF_HOOK_COND(NFPROTO_IPV4, NF_INET_POST_ROUTING, skb, NULL, dev,
  2.                             ip_finish_output,
  3.                             !(IPCB(skb)->flags & IPSKB_REROUTED));
复制代码
ip_finish_output函数,hook在NF_INET_POST_ROUTING,所以包是要离开路由器,从eth0发出去,直接回给内网PC了。
对ip_finish_output(mc)具体作用是这样吧。不查看路由器表直接将mc发出去?mc这个申请空间应该是会释放吧?

论坛徽章:
0
发表于 2012-08-11 14:48 |显示全部楼层
本帖最后由 lujian19861986 于 2012-09-11 15:49 编辑

回复 6# platinum


论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2012-08-11 23:36 |显示全部楼层
回复 8# lujian19861986
数据包经过 LOCALOUT 之后是需要查路由,然后才会是数据包走到 POSTROUTING 的。


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP