我设置了mac地址,并在此链接中练习了WinPcap的教程: https://www.winpcap.org/docs/docs_40_2/html/group__wpcap__tut8.html(使用pcap_sendpacket()标题发送单个数据包)
但是,我需要在第25个索引中添加9999值,如下所示。
packet[25]=9999;
但数据包必须是u_char
类型。在这种情况下,如何根据需要分配变量?
答案 0 :(得分:0)
值9999大于255,因此它不能适合1个字节。你需要2个字节来写它。所以,让我们说你可以使用字节25和26.在这种情况下,你需要以下代码:
#include <winsock2.h> // for using ntohs
...
*(uint16_t*)(packet + 25) = htons(9999);
htons
中的需求是以网络顺序写入值