ネットワークパケットインスペクターを作成しようとしています。
libpcapでこれを実行できることは知っていますが、スニファではありません。ネットワークに送信される前に、ネットワークパケットを偽造する必要があります。(ソックスサーバー経由で送信)
私はこれを行う2つの方法を見つけました:
- NKEを使用します。(ネットワークカーネル拡張)
- DYLD_INSERT_LIBRARIESを使用して、ネットワーク関数をフックするライブラリを挿入します。
どの方法が最適だと思いますか?
ネットワークパケットインスペクターを作成しようとしています。
libpcapでこれを実行できることは知っていますが、スニファではありません。ネットワークに送信される前に、ネットワークパケットを偽造する必要があります。(ソックスサーバー経由で送信)
私はこれを行う2つの方法を見つけました:
どの方法が最適だと思いますか?
どちらも、tun / tapデバイスを使用しないでください:http://tuntaposx.sourceforge.net/
トラフィックをそのデバイスにルーティングし、変更してから送り返す必要があります。これは、ファイアウォールルールを使用して行うことができます。オープンソースの世界全体でtun/tapを使用した例はたくさんありますが、難しくはありません。
利点:これはカーネル拡張ですが、標準のカーネル拡張であるため、デバッグについて心配する必要はありません。