如何在WinPcap中发送整数值?

时间:2017-10-23 11:52:06

标签: c sockets network-programming winpcap

我设置了mac地址,并在此链接中练习了WinPcap的教程: https://www.winpcap.org/docs/docs_40_2/html/group__wpcap__tut8.html(使用pcap_sendpacket()标题发送单个数据包)

但是,我需要在第25个索引中添加9999值,如下所示。

packet[25]=9999;

但数据包必须是u_char类型。在这种情况下,如何根据需要分配变量?

1 个答案:

答案 0 :(得分:0)

值9999大于255,因此它不能适合1个字节。你需要2个字节来写它。所以,让我们说你可以使用字节25和26.在这种情况下,你需要以下代码:

#include <winsock2.h> // for using ntohs
...
*(uint16_t*)(packet + 25) = htons(9999);

htons中的需求是以网络顺序写入值