请教:如何修改ip数据包头

发布于 2022-07-20 07:32:08 字数 47 浏览 12 评论 9

各位大哥:请教一下如何修改IP数据包的TOS字段,标示字段.在那里能找到相关资料,谢谢啊!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

枫林﹌晚霞¤ 2022-07-24 06:43:25

一个windows的例子,抽出来的不全,参考一下他怎么建的。
你老师意思就是让你用raw socket写,熟悉ip封包结构。
linux下类似,程序修行在个人,没人会给你写一个完整的代码。

  1. BOOL CSpoofSocket::Create(int iProtocol)
  2. {
  3.         try
  4.         {
  5.                 //Here we create the raw socket
  6.                 if (m_Raw || iProtocol==IPPROTO_ICMP)
  7.                         m_SpoofSocket=socket(AF_INET,SOCK_RAW,iProtocol);//iProtocol);
  8.                 else
  9.                         if (iProtocol==IPPROTO_TCP)
  10.                                 m_SpoofSocket=socket(AF_INET,SOCK_STREAM,iProtocol);
  11.                         else if (iProtocol==IPPROTO_UDP)
  12.                                 m_SpoofSocket=socket(AF_INET,SOCK_DGRAM,iProtocol);
  13.                 //Check for socket validity
  14.                 if (m_SpoofSocket==INVALID_SOCKET)
  15.                 {
  16.                         //Error
  17.                         SetLastError("Create");
  18.                         return FALSE;
  19.                 }
  20.                 if (m_Raw)
  21.                 {
  22.                         //Set that the application will send the IP header
  23.                         unsigned int iTrue=1;
  24.                         if(setsockopt(m_SpoofSocket,IPPROTO_IP,IP_HDRINCL,(char*)&iTrue,sizeof(iTrue))==SOCKET_ERROR)
  25.                         {
  26.                                 //Check for options error
  27.                                 SetLastError("Create");
  28.                                 return FALSE;
  29.                         }
  30.                 }
  31.                 return TRUE;
  32.         }
  33.         ERROR_HANDLER_RETURN("Create",FALSE)
  34. }

复制代码

一枫情书 2022-07-24 06:43:16

没办法啊,老师压下来了,我就想看看有没有相关资料,然后修改一下.各位兄弟,谁有相关资料,拉兄弟一把

贪恋 2022-07-24 06:43:16

raw 套接字和netfilter都可以

小镇女孩 2022-07-24 06:42:03

原帖由 jluzzh 于 2006-6-6 13:59 发表
有没有相关的代码参考一下啊,我是新手,请问在那里能找到,好心人,谢谢啊.呵呵

新手就修改ip头了?通常高手才这么做!
我写过很多网络代码,都还只是知道这个方法,也没有写过,这种代码对新手是比较难的。

掀纱窥君容 2022-07-24 06:38:13

有没有相关的代码参考一下啊,我是新手,请问在那里能找到,好心人,谢谢啊.呵呵

赢得她心 2022-07-24 06:31:26

要自己写代码,用raw socket 呀。

冷︶言冷语的世界 2022-07-24 06:31:14

我想LZ发在这个版,是不是问的,用自己的代码来实现的,或许,用netfilter,自己注册一个Hook是一个好办法。

是啊,就是要用自己的代码来实现.现在一点眉目没有,能不能知道小弟一下,提供一些思路,资料,谢谢了啊 !!!

傲娇萝莉攻 2022-07-24 05:45:38

原帖由 liubinbj 于 2006-6-5 16:19 发表
发的不是地方,应该发到网络和硬件
iptables -t mangle -A PREROUTING -p TCP --dport 22 -j TOS --set-tos 0x10

我想LZ发在这个版,是不是问的,用自己的代码来实现的,或许,用netfilter,自己注册一个Hook是一个好办法。

许一世地老天荒 2022-07-23 05:39:05

发的不是地方,应该发到网络和硬件
iptables -t mangle -A PREROUTING -p TCP --dport 22 -j TOS --set-tos 0x10

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文