■掲示板に戻る■ ■過去ログ倉庫めにゅーに戻る■
パケット
1 名前: 169 投稿日: 2000/09/20(水) 11:46
C言語のネットワークプログラミングについてですが、ネットワーク
を流れるデータをパケット単位で扱うことはできますか?
本やネットのプログラムの解説ページを見ても、まったく扱われて
いませんでした。
目標としては、PCに入ってくるパケットのヘッダーを書き換えて
他の端末に送り出してやりたいんですけど。
こんなプログラムをC言語で作るのは難しすぎますか?
もし、参考になる本などがあったら教えていただけるとうれしいです。


2 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/20(水) 12:41
別に言語に依存するものではない


3 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/20(水) 14:01
何をやりたいのかな。

パケットを扱うのは可能だけど、TCP/IPだったら、下手にヘッダ
書き換えると、パケットが無効になるよ。(チェックサムまで
計算しなおせばいいけど。)



4 名前: ケパット 投稿日: 2000/09/20(水) 14:51
Java で書けば。


5 名前: トッケパ 投稿日: 2000/09/20(水) 15:28
JavaでIPパケットまで扱えるの?


6 名前: >5 投稿日: 2000/09/20(水) 17:05
無理
ネイティブメソッド使えば別だけど


7 名前: 169 投稿日: 2000/09/20(水) 17:16
レスありがとうございます。
ぶっちゃけた話PCにNICを複数枚挿して、ルータのような
物を作りたいんです。
そこでPCに入ってくるパケットをキューに溜めて、ヘッダーの
内容を見てそれに応じた宛先に送り出す
プログラムを実行しようと思います。ヘッダーの書き換えは、あまり
関係ないですね。
このプログラムはパケットを扱うものなので、その方法を知り
たいんですが。
それとJavaは全く知らないんですが、Cよりイイのでしょうか?


8 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/20(水) 17:39
それぐらいのスキルでルータは無茶だと思いますー
FreeBSDもしくはLinuxいれてルーターにするのが無難じゃないかな
んでソースみながら勉強するのがいいと思う


9 名前: >7 投稿日: 2000/09/20(水) 17:42
TCP/IPの土俵の上でなんかやろうとするなら
(UNIXとかのと比べて)割と解りやすいAPIがあるので楽。
ただし逆にそれ以下の低レベルなことをやろうとすると
標準APIだと手も足もでない。


10 名前: 3 投稿日: 2000/09/20(水) 17:56
まず、スキルをつける必要はありですが、Windowsで、
Ethernetのパケット送受信に使えるソフト(ライブラリ)を
紹介しましょう。

http://www.pcausa.com/windis4_2/Default.htm

上のページをみてピンと来なければ、勉強が必要です。


11 名前: 169 投稿日: 2000/09/20(水) 23:50
名無しさん@お腹いっぱい。さんレスありがとう
ございました。
上で紹介していただいたページをみましたがピン
ときませんでした。スキルのなさは自覚している
んですが、必要に迫られていて。(汗)
やはり勉強しようと思いますが、どこかパケット
送受信を扱ったページはないでしょうか?
検索してもヒットしませんでした。できれば日本語
がいいですね。贅沢言ってスイマセン。m(__)m


12 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/21(木) 01:40
サーバの設定さえちゃんとやりゃ、プログラム書かなくてもすむんちゃう?
LinuxだかNTだか知らんが。

同情はするがあんた一人じゃ無理や。
結局同じ結果になるんやから、傷が浅いうちに誰かに泣きつきなや。


13 名前: 3 投稿日: 2000/09/21(木) 01:49
>> 12
傷っていうか、自分でやりたいんだから、それはいいことだと思う。
時間とか十分にあればね。だれだって、最初は何も分からんでしょう。

>>1 やる気を感じたので、フォローします。:-)
うーんと。まず、WindowsとかLinuxでは、パケット送受信
を簡単にやるのは難しいな。(SHとかのシングルボードだといいの
だけど...)
今まで出てきたように、ソースを読むか、ピンと来ないのを来るように
するか。

ルータじゃなくて、まずはTCPのパケット(HTTPとか)の
転送ならソケットでできるが、それはどう? もう分かってるかな?
これは、プロキシサーバの処理です。


14 名前: 12>13 投稿日: 2000/09/21(木) 02:02
なるほど。俺が悪かった。がんばってくれ。
ただ、あんたががんばっても1が先に音を上げる気もするが。。まあ言うまい。
>>1、俺が笑いものになるように、がんばって>>3に学べ。



15 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/21(木) 02:10
同じ初心者としての意見なんですけど、
NATとかIPマスカレード関係のソースを眺めてみたらどうです?

私もソケットなプログラムは数えるほどしか書いたことない
から偉そうな事いえないですけど・・・。
プログラマーっていかにして
楽をするかが勝負な世界なのでしょ(聞いた話だが)?

既存の0円な安定したOSでLANカード2枚ざしな
ルーターにしちゃった方が楽な気もするのですが。




16 名前: 169 投稿日: 2000/09/21(木) 11:11
みなさん、大変参考になりました。
ありがとうございました。
とりあえずUNIX系の方向で勉強してみます。
プロキシサーバーというのも、検討してみたい
と思います。
かなり時間が掛かりそうですが、がんばってみます。