[FreeBSD-users-jp 96268] Re: パケットの横取り

もじもじ mojimoji528 @ yahoo.co.jp
2018年 7月 6日 (金) 05:15:26 UTC


佐久間様:

出来れば横取りプログラムは python で書きたいと思っていま
す。

1) ip フィルタで必要なポートを横取りプログラムに送る
2) 処理必要なければ、そのまま通常ルートにお返し
3) 処理必要であれば適宜処理して、リターンパケットとして送信側にお返し

これだけです。
たいした話では無いんですけどね(^^;

で、libpcap は知ってて、tcpdump のログを解析するのに使え
るんだなぁ。。。ってぼんやり思ってたんですが、任意のフレー
ムコネコネ出来るんですね!

で、調べたら
https://qiita.com/sin_makoto/items/70715ddcde0485fea306
こんなのがすぐ引っかかりました。

色々調べてみます!

Fri, 6 Jul 2018 05:00:47 +0000 に、
"Sakuma, Takayuki" <sakuma.takayuki @ jp.fujitsu.com> さんは書きました:

> 佐久間です。
> 
> どこまで手をかけてもよいのか、わかりませんけど、
> ぐりぐりプログラミングしてもよいということであれば。
> 
> FreeBSDならば、bpfを使って任意のフレームの送受信できます。
> Linuxでもlibpcapで同じようなことはできます。
> どちらも、受けたフレームの内容を調べて、必要に応じて書き換えて、
> 送信するって処理を作ることになりますね。
> 
> # 期待した答えでなかったらごめんなさい。
> 
> > -----Original Message-----
> > From: owner-freebsd-users-jp @ freebsd.org [mailto:owner-freebsd-users-jp @ freebsd.org] On Behalf Of もじもじ
> > Sent: Friday, July 06, 2018 1:29 PM
> > To: freebsd-users-jp @ freebsd.org
> > Subject: [FreeBSD-users-jp 96262] Re: パケットの横取り
> > 
> > 鯉江様:
> > 
> > おぉぉぉ!
> > なるほどぉ。
> > 
> > divert socket ってそういう事だったんですか。
> > そうそう。FreeBSD って、tcpdump でも、まずは横取りからら
> > しいですからね。
> > 
> > その点、Linux は新しいソケットオプション作って「覗き見」
> > しか出来ない様になってるみたいですね。。。。
> > 
> > やはりカーネルに近すぎて簡単には出来ない世界なのかな・・・
> > 
> > と思ったら、iptables にも DIVERT の文字が・・・・
> > 
> > ちょっと詳しく調べてみます!
> > ありがとうございました!
> > 
> > Fri, 06 Jul 2018 13:18:21 +0900 (JST) に、
> > KOIE Hidetaka (鯉江英隆) <hide @ koie.org> さんは書きました:
> > 
> > > 本当はLinuxでやりたいとのことですが
> > > FreeBSDでやるなら
> > > ipfw + divert socketでパケット横取りして
> > > そのまま流すならdivert socketにもどして
> > > 捏造パケットで応答したいならIPヘッダから準備して
> > > divert socketかRAW socketにsendtoでいけるんじゃないでしょうか。
> > > see also: divert(4), rawip(4)
> > >
> > > --
> > > 鯉江英隆 <hide @ koie.org>
> > >
> > >   Message-Id: <20180704190051.5566.60E52F2C @ yahoo.co.jp>
> > >   Date:       Wed, 04 Jul 2018 19:00:51 +0900
> > >   From:       もじもじ <mojimoji528 @ yahoo.co.jp>
> > >   Subject:    [FreeBSD-users-jp 96252] パケットの横取り
> > >
> > >   | 識者様:
> > >   |
> > >   | 色々考えてるんですが、まだ、実際の作業を出来ていないので
> > >   | 机上の空論状態です。
> > >   |
> > >   | 出来るのか、出来ないのか、いや、プログラム組めばそりゃ出
> > >   | 来るんだろうと思っているのですが、考え方としてどうなのか
> > >   | 知りたくてご質問です。
> > >   | 本当は Linux で iptables を使った方法を考えていたのです
> > >   | が、Linux users group って無いんですか?
> > >   | 全然ポインタが無くて・・・・
> > >   |
> > >   | 門外漢かもしれません。もし、違ったらポインタ教えてくださ
> > >   | い。
> > >   |
> > >   | で、やりたいことは、パケットの横取りです。
> > >   |
> > >   | まず手始めにパケットの閲覧を考えています。
> > >   | かの有名な tcpdump です。これは、使えます。
> > >   |
> > >   | ただ、今回の条件は NIC をブリッジ接続した状態での tcpdump
> > >   | です。
> > >   | 古い情報ですが、
> > >   | http://uyota.asablo.jp/blog/2009/02/24/4137825
> > >   | でブリッジデバイスが作れるようです。
> > >   |
> > >   | tap デバイスも同梱して、tap を tcpdump してもよかろーし、
> > >   | bridge デバイスを tcpdump してもよかろーと思う。
> > >   | きっと ip アドレス付けなくても tcpdump 出来ますよね?
> > >   |
> > >   | A-machine(192.168.10.1)----FreeBSD(Bridge)---(192.168.10.2)B-Machine
> > >   |
> > >   | この A-B 間のパケットを FreeBSD で見ることが出来ると考え
> > >   | ています。
> > >   | この時、通したいパケットを ipfw か pf でコントロール出来
> > >   | ると考えています。
> > >   |
> > >   | その時、あるパケットだけ、折返しとかしたいと考えた時、そ
> > >   | れは実現可能なのでしょうか。
> > >   |
> > >   | もちろん、折り返したパケットはあたかも相手から返ってきた
> > >   | パケットっぽく偽装したいです。
> > >   | つまり、
> > >   | A --> B
> > >   | とパケットを投げた時、条件に適合したら、あたかも
> > >   | B --> A
> > >   | と投げたように、FreeBSD(Bridge) がパケットを返して、B に
> > >   | はパケットを届けたく無いのです。
> > >   |
> > >   | 不可能ではないと思っているのですが、どうやったら実現でき
> > >   | るのかわからず、悩んでいます。
> > >   |
> > >   | 何かヒントでもあれば、よろしくおねがいします。
> > >   |
> > >   | # 本当は FreeBSD のところを Linux, ipfw or pf を iptables
> > >   | # でやりたいんですけどねぇ。。。。どこに聞けばいいやら・・・ブツブツ
> > >   |
> > >   | --
> > >   | もじもじ <mojimoji528 @ yahoo.co.jp>
> > >   |
> > >   | _______________________________________________
> > >   | freebsd-users-jp @ freebsd.org mailing list
> > >   | https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> > >   | To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe @ freebsd.org"
> > >   |
> > 
> > --
> > もじもじ <mojimoji528 @ yahoo.co.jp>
> > 
> > _______________________________________________
> > freebsd-users-jp @ freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> > To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe @ freebsd.org"
> 
> 
> _______________________________________________
> freebsd-users-jp @ freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe @ freebsd.org"

-- 
もじもじ <mojimoji528 @ yahoo.co.jp>



freebsd-users-jp メーリングリストの案内