2017-10-23 22 views
0

私はMACアドレスを設定すると、このリンクのようにWinPcapのチュートリアル練習: https://www.winpcap.org/docs/docs_40_2/html/group__wpcap__tut8.html(pcap_sendpacket()タイトルを持つ単一のパケットを送信する)WinPcapで整数値を送るには?

はしかし、私は以下のように25日インデックスに9999の値を追加する必要があります。

packet[25]=9999; 

しかし、パケットはu_charタイプでなければなりません。この場合、変数をどのように割り当てることができますか?

+0

に値を書き込むためである、 'packet'がされあなたが言うように、 'u_char'。つまり、範囲内の値(0〜255)のみを含めることができます。したがって、これらの値の1つを9999に設定するのは意味がありません。実際に達成しようとしているのは何ですか? –

+0

@GilHamiltonパケットの内部に整数値を送る必要があります。どうすればいいですか? –

答えて

0

9999の値が255より大きいため、1バイトに収まりません。書き込むには2バイト必要です。それでは、あなたは以下のコードを必要とする場合にはバイト25と26を使用することができましょう:

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

htonsにおける必要性がその例ではネットワーク順

関連する問題