用raw socket实现ping(ICMP)中如何 设置TOS(type of service) 。。。在线等。。。
我用raw socket 实现了ping(ICMP)功能
我想设置ping 包中的tos (服务类型)
result = setsockopt(pingSessions[iIndex].pingSockFd, IPPROTO_IP, IP_TOS, (char*&TOSICMP, sizeof(TOSICMP));
按上面设置返回正确,但抓包发现 设置的TOSICMP值没起作用。
result = setsockopt(pingSessions[iIndex].pingSockFd, IPPROTO_ICMP, IP_TOS, (char*&TOSICMP, sizeof(TOSICMP));
result = setsockopt(pingSessions[iIndex].pingSockFd, IPPROTO_RAW, IP_TOS, (char*&TOSICMP, sizeof(TOSICMP));
按上面这两种设置返回错误。
宏 IPPROTO_ICMP, IPPROTO_RAW 不知道是否在这里可以用。。。。
thank you ......
问题点数:100、回复次数:3Top
1 楼ljp940531(ljp)回复于 2005-08-01 18:13:09 得分 0
result = setsockopt(pingSessions[iIndex].pingSockFd, IPPROTO_IP, IP_TOS, (char*&TOSICMP, sizeof(TOSICMP));
按上面设置返回正确,但抓包发现 设置的TOSICMP值没起作用。
result = setsockopt(pingSessions[iIndex].pingSockFd, IPPROTO_ICMP, IP_TOS, (char*)&TOSICMP, sizeof(TOSICMP));
result = setsockopt(pingSessions[iIndex].pingSockFd, IPPROTO_RAW, IP_TOS, (char*)&TOSICMP, sizeof(TOSICMP));
按上面这两种设置返回错误。
写漏了。。。。Top
2 楼ljp940531(ljp)回复于 2005-08-01 18:14:57 得分 0
如下传参数。。。
TOSICMP = 0x2;
result = setsockopt(pingSessions[iIndex].pingSockFd, IPPROTO_IP, IP_TOS, (char*)&TOSICMP, sizeof(TOSICMP));
按上面设置返回正确,但抓包发现 设置的TOSICMP值没起作用。
TOSICMP = 0x3;
result = setsockopt(pingSessions[iIndex].pingSockFd, IPPROTO_ICMP, IP_TOS, (char*)&TOSICMP, sizeof(TOSICMP));
result = setsockopt(pingSessions[iIndex].pingSockFd, IPPROTO_RAW, IP_TOS, (char*)&TOSICMP, sizeof(TOSICMP));
按上面这两种设置返回错误。
Top
3 楼qrlvls( 空 气 )回复于 2005-08-03 19:47:46 得分 0
你可以直接修改要发送的包数据即可Top
相关问题
- 用raw socket实现ping(ICMP)中如何 设置TOS(type of service) 。。。
- 我在DOS下可以PING网络,为什么在VC中调用rawSocket = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)返回错误值呢??请指教,很着急
- 采用RAW Socket的ping代码的疑问,在线等 多谢
- 用raw socket编写多线程ping程序的问题
- 关闭Ping(ICMP)的方法
- 为什么在VC中调用rawSocket = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)返回错误值呢??请指教,急
- 求socket raw的例子
- icmp
- 紧急求助ACE中的ACE_Ping_Socket
- 请解释一下raw socket,谢谢




