[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 03/11 02:51 / Filesize : 59 KB / Number-of Response : 292
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Linux】カーネル総合3【Kernel】



1 名前:login:Penguin [2006/04/28(金) 23:52:43 ID:OSZilmdD]
前スレ
pc8.2ch.net/test/read.cgi/linux/1100967722/

285 名前:login:Penguin [2006/12/18(月) 17:48:16 ID:CqDzl5wd]
カーネルモジュールからカーネルに「擬似的に」IP パケットを
送り付けたいんだけど、いい方法ないかな?

やりたいことを言うと、モジュールで生成したソケット (LISTEN 状態) に
擬似 SYN パケットを送りつけて(Handshake して)そのソケットを
無理やり TCP_CONNECTED の状態に持って行きたい。

netfilter いじればいけると思ってソースを軽く読んでるんだけど、
netfilter って、来たパケットを落としたり書き換えたりするだけで
何も無いところからパケットを生成することはできなかったりする?
(読みが浅いだけかも。もうちょっとちゃんと読むか…)

286 名前:login:Penguin mailto:sage [2006/12/19(火) 00:11:12 ID:Y8Ux/Mtq]
>>285
ACKも投げないとね

とりあえず、そういうときは本当に接続してLANケーブルひっこぬく

287 名前:login:Penguin [2006/12/19(火) 14:55:27 ID:CRmuTbew]
>> 286
もちろん ACK も投げる。(記述を省略していた)

他のマシンと通信をしているソケットを(FIN を送らずに)一回破壊して、
通信相手に影響なく別のソケットを作り直して、
通信を継続させる、ということをやりたいのね。
(新たに接続したソケットの Seq. No. は無理やり書き換える)

288 名前:285 [2006/12/19(火) 16:33:48 ID:CRmuTbew]
divert_なんちゃら とかを使えばいいのだろうか。
(e.g. alloc_divert_blk(), divert_frame() とか)

よくわからん。参考になるものが少ない…。

289 名前:login:Penguin mailto:sage [2006/12/19(火) 16:40:18 ID:WkfMsLhq]
>>285
よくわからんけど
lo からコネクション張るんじゃだめ?

290 名前:login:Penguin mailto:sage [2006/12/19(火) 22:53:18 ID:9FDnX5Ig]
>>287
ユーザ空間のプログラムを呼び出して、
raw socket で投げつける。


291 名前:285 [2006/12/20(水) 01:41:48 ID:jEZO7VCp]
>>289
>>290
あ、それでいいのか。簡単なことに気づかなかった orz

「自分自身ではない IP を名乗る SYN パケット」を送る必要があって、
返ってくる SYN+ACK パケットをキャッチすることと併せて考えていたら
netfilter にこだわってしまった。
ユーザ空間から送って、キャッチだけ netfilter で行えばいいのか。感謝。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<59KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef