[FreeBSD-users-jp 96269] Re: パケットの横取り
もじもじ
mojimoji528 @ yahoo.co.jp
2018年 7月 6日 (金) 05:22:02 UTC
皆様:
http://d.hatena.ne.jp/oraccha/20100108/1262886720#20100108f2
ここは参考にしてます。
Fri, 06 Jul 2018 14:12:24 +0900 に、
もじもじ <mojimoji528 @ yahoo.co.jp> さんは書きました:
> 佐久間様:
>
> 出来れば横取りプログラムは 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 @ 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 メーリングリストの案内