免费注册 查看新帖 |

Chinaunix

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

关于协议地址绑定的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-29 10:30 |只看该作者 |倒序浏览
BSD的实现好像不能绑定广播地址,比如255.255.255.255或192.168.1.255
而在Linux系统上可以绑定广播地址255.255.255.255与192.168.1.255
看了一篇关于IP欺骗的文章,原理好像就是绑定别人的IP去发包,今天试了试好像不行,报错如下:

bind error: Cannot assign requested address
errno is 29

请问如何实现的?

BTW: 我并不是做IP欺骗功击,而是一个程序也遇到类似的问题

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-07-29 10:33 |只看该作者

关于协议地址绑定的问题

用inet_addr 函数 填充的 sin_add.s_addr 结构吗?

论坛徽章:
0
3 [报告]
发表于 2005-07-29 10:34 |只看该作者

关于协议地址绑定的问题

inet_pton

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2005-07-29 10:40 |只看该作者

关于协议地址绑定的问题

socket 到 bind 之间的代码贴出来吧.
大家看一看. 要不只能去猜.

btw: 我用的linux. 未必能检验出错误.

论坛徽章:
0
5 [报告]
发表于 2005-07-29 10:42 |只看该作者

关于协议地址绑定的问题


  1. /* My IP is 172.19.11.196 */
  2. if ( (rval = inet_pton(AF_INET, "172.19.11.197", &clie.sin_addr)) < 0)
  3.                 printf("Not contain a valid address familly\n");
  4. else if (rval == 0)
  5.                 printf("Not contain a valid string address \n");

  6.         
  7. clie.sin_port = htons(8888);

  8. if( (sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1) {
  9.                 printf("Error creating DGRAM socket\n");
  10. }

  11. if(bind(sockfd, (struct sockaddr *) &clie, sizeof(clie)) == -1) {
  12.                 perror("bind error");
  13.                 printf("errno is %d\n", errno);
  14.                 exit(1);
  15. } else
  16.                 printf("bind OK!\n");
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP