• 締切済み

WiFiのプログラミングについて

WiFiのプログラミングについて LINUXでC言語でどなたかWiFiのプログラミング方法についてご存知ないですか? RAWパケットの送受信、ヘッダーの作成、プロトコル自体についても何か掲載しているサイトや本についても教えていただけませんか? よろしくお願いします。

みんなの回答

  • _kumakiri
  • ベストアンサー率75% (9/12)
回答No.1

Wi-Fiは相互接続性のブランド名なので、プログラムとは関係ないですよ…っと言ってしまえば終わりなんですが、念のため説明を。 無線LANの規格であるIEEE802.11シリーズはデータリンク層の取り決めが書かれてます。 これらのシリーズを実装した機器間の接続互換を承認しているのがWi-Fiになります。 恐らくSocketのRAWパケットのようなイメージで質問されているものと思いますが、そもそもネットワーク層からはデータリンク層を認識できません。なので、データリンク層以下を制御しようとするとドライバレベルでの操作が必要になります。 Linuxで無線LANというと、the Linux WLAN Project が古くからあったと思います。 こちらのコードを参考にしてみてはいかがでしょうか! http://www.linux-wlan.com/

yusumitsu
質問者

お礼

ご丁寧にありがとうございました。 参考にしてやってみます

関連するQ&A

  • パケット通信時のIPヘッダの取得方法について

    RedHat Linux9上で、g++3.2を使用して、ソケット通信の プログラムを作成していますが、UDPやTCPパケットを受信した際に 各パケットのIPヘッダを取得したいのですが、どのように行えばよいのでしょうか? RAWソケットを使用すればできるかとも思ったのですが、下記のURLに 「IPPROTO_RAW 経由でのあらゆる IP プロトコルの受信は、 raw ソケットを用いては行えない。」と書かれています。 http://www.linux.or.jp/JM/html/LDP_man-pages/man7/raw.7.html 上記のURLには、下記のようにも書かれていました。 packetソケットを使用しなければ実現できないのでしょうか? もし、そうならばpacketソケットのサンプルがありましたら、 教えていただけないでしょうか。 「IPPROTO_RAW ソケットは送信専用である。もしどうしてもすべての IP パケットを受信したい場合は、 packet(7) ソケットを ETH_P_IP プロトコルで用いること。」

  • C言語でTCPの3way handshake

    (C言語)Linuxのpacket socket(socket(AF?PACKET, SOCK_DGRAM, htons(ETH_P_IP))) を使ってTCPの3way handshakeをOSのプロトコルスタックに頼らず自力で挑戦しています。 RFCやほかの技術本をよんでIPヘッダやTCPヘッダの実装は一応できたのですが、肝心のsynパケットを送った後のackパケットが返ってきません。 wiresharkでは問題なくsynパケットと認識できているのですが、きっとどこかに不備があるはずです。 そこでC, C++ Javaでもいいのでこのプログラムの実装例が載っているサイトなどを教えてください。(英語でもかまいません)

  • Winpcapを使用してのプログラミング

    現在C++でWinpcapを使用し、パケットのキャプチャをとるプログラムを作成したいと考えています。 http://d.hatena.ne.jp/d-kami/20080730を参考に作成しているのですが、 struct ether_headerがどこで宣言されているかわからず、使用することができません。 上記のサイトはおそらくLinux用だと思うのですが、Windows上で動かすためにはなんというヘッダファイルを読み込む必要があるのでしょうか?

  • 無線LANで任意のパケットを作成し送信する方法について

    無線LANで任意のパケットを作成し送信する方法について linux(ubuntu)を使用しています。C言語を使い無線LANで、有線みたいにパケットを作成して目的のアドレス宛に送信したいと考えています。ですが、どのようにしたらよいのかよく分かりません。(IP、TCPヘッダーを作成できた様に無線LANでも同じことが出来るのですか?) プログラムの仕方等、どなたか分かる方教えていただけませんか? なにかそのようなことが載っているサイトや本はご存知ないですか? どうぞよろしくお願いします。

  • Linuxでシリアル通信(RS232C)プログラム

    Linuxでパソコンから他の機器へ文字列を送るプログラムを書きたいと思っています。 termios.h というヘッダーがあると言うことは検索して分かったのですが、それ以上に詳しいことがよく分かりません。 Linuxでシリアル通信をするC言語のプログラミングを扱っている書籍や詳しいサイトがあれば教えて頂きたく思います。 また、C言語のヘッダーは自分が勉強した本に載っているものは分かるのですが、それ以外のものはどうやって調べられているのでしょうか? 自分が求めている機能のライブラリがあるかどうかは、Googleとかで調べておられるのでしょうか? termios.hというようなヘッダーについては、どうやって情報を集められているのでしょう? よろしくお願い致します。

  • Linux C++ でマルチプロセスプログラミング

    Cent OS + Eclipse CDT で C++ プログラミングをはじめたばかりです。 マルチプロセスのアプリを作成したいのですが、C++ での子プロセス作成や その制御方法についてネットで探しても、C言語(の文法)でのやり方は見つかるのですが、 C++でのやりかたは見つかりませんでした。 (C言語を包含してるんだからC言語の文法でもいいじゃんとは言わないでください。。) C++でも fork して子プロセスを作成するということのようですが、 実際のサンプルソースなどが載っているサイトや、 Linux C++ で参考になる書籍があったら教えて欲しいと思います。 よろしくおねがいします。

  • プログラミング?

    プログラミングを学びたいのですが何かオススメの本ってありますか?それと、C言語とかなんか色々とあるのですがどれから学べばいいのでしょうか?教えて下さい。

  • プログラミング言語

    現在文系私立大学の一年生です。 パソコンを扱うのが好きなので、在学中にプログラミング言語を覚えたいと考えています。 が、今はC、C+、C++、Javaなどの言語の名前だけを知っている状態です。 どのプログラミング言語を学ぶと役に立つのでしょうか? また、どのプログラミング言語が簡単でどのプログラミング言語が難しいなども教えていただけるとありがたいです。 また、私は数学がかなり苦手で文系に進んだのですが、プログラミングは数学が出来ない人間にも可能なのでしょうか? あとOSですが、プログラミングをするにはWindowsよりもLinuxの方が良いのですか? UbuntuとWin7のデュアルブートの経験はあります。今度はDebianというものでやってみようかなと思っています。

  • プログラミングを始めようかなと思っています

    いままでプログラミング経験はありません。 C言語をやろうかなと思っています。 その際にネットで情報を探すのと本を買うのではどちらがいいでしょうか? http://goo.gl/6lPNL これを使おうかなと思っています 補足 おすすめのサイトなんてありますか?

  • Windowsプログラミングの本について

    Windowsプログラミングを一から勉強したいのですが、なんの本を買えばいいかわかりません。 だれかオススメの本など教えていただけませんか。 また、それに関してのサイトなども教えていただけるとありがたいです。 ※C言語については習得ずみです。

専門家に質問してみよう