現在Cでコーティング中です。環境はWindowsのVisualstadioとなります。
winpcapを使用しているのですが、pcap_next_ex()の詳しい使い方がよくわかりません。
http://codezine.jp/article/detail/126?p=2
このようなサイトを見つけたのですが、pkt_dataにデータが保存されているようです。
これをファイルにひたすら出力を行いたいと思っています。
おそらくデータのコピーはmemsetでできると思うのですが、
char buf[9999];
int i=0;
while(1){
memcpy(buf[i], , pkt_data, 5);
i++;
}
これでちゃんと格納できているのでしょうか?
printf("%s\n", buf[i]);では確認できませんでした。
また、最終的な目標はこれをバイナリデータとしてファイルに出力したいと考えております。
ofstream fout;
fout.open("file.txt", ios::out|ios::binary|ios::trunc);
if (!fout) {
cout << "ファイル file.txt が開けません";
return 1;
}
// ファイルが開けなかったときのエラー表示

for(int i=0;i<9999;i++){
fout.write(( char * ) &buf[i],sizeof( char ) );
で合っていますでしょうか?
しかし、これもファイルを確認したところうまく表示できていませんでした。

A 回答 (1件)

>おそらくデータのコピーはmemsetでできると思うのですが、



memcpy()の間違い…ですよね?

>memcpy(buf[i], , pkt_data, 5);

コンパイルエラーになるかと思いますがいかがです?
そして、5という値は一体どこから出てきたモノでしょう?

>printf("%s\n", buf[i]);では確認できませんでした。

高確率で落ちますがそのヘン大丈夫でしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q生のパケットデータを取得

http://www.kt.rim.or.jp/~ksk/wskfaq-ja/advanced.html#pktcapture
ここに書かれているように、
「トランスポートデータインターフェース(TDI)かネットワークデバイスインタフェース仕様(NDIS)層と話をしなければなりません」をしたいのですが、参考になる書籍やサイトをご存知の方、ご教授下さい。
最終的にしたいのはPPPoEクライアントを作るか、コマンド操作できるPPPoEクライアントを自前のプログラムから実行したいです。

なにとぞ宜しくお願い致します。

Aベストアンサー

どもです。

もしかして、PPPoEのpadiパケットを出したいとかじゃなくて、単に接続/切断したいだけですか?
だったら、
http://sakaguch.com/pastbbs/0010/B0005218.html
が参考になると思います。

ではでは。


人気Q&Aランキング

おすすめ情報