私のクライアントには、ユーザーの入力に基づいて特定のURLをブロックする必要があります。 私は、ドライバをビルドすることでこれを実装しようと考えていました。これを使って、パケットの応答をすべての詳細で得ることができます。これは、アプリケーションを構築することによってブロック/許可することができます(これはWindowsの "netfilter"OS X用のドライバを使用したURLフィルタリング
しかし、私は、この特定の要件のためにを続行するのに十分な情報を取得していないドキュメントやウェブサイトを通じて読んで。(私はBPFについて見つかりましたが、を続行するのに十分な詳細がありませんでした)
、私は非常に午前とドライバのフィールドに多くの新しい、この場合、どのように進行するかを誰かに教えてもらえますか?(進行方法の手順)
注:USBドライバに関連するプロジェクト/それ以外のすべての人は、さらに進んでいくための十分な考えを与えていませんでした。
私はURLを例として取り上げましたが、主にパケットベースのコントロールとサンプルに集中して、コンセプトを理解するのを助けてくれました。私がkextを知っているので、私は同じことを進めたいと思います。 – Darshan
しかし、出力されるログは、 [...] enetlognke out IPv4 a820662e49ca | 000c29f281ec | 0800 | 45000054 98しかし、上記の出力からソースと宛先IPを取り出すことができませんでした(この16進値を変換しようとしましたa820662e49caからipフォーマットへと変更されましたが、常に間違ったipの詳細が出ました)。 上記の値を変換する方法はありますか。 – Darshan
'a820662e49ca'はMACアドレスのようです。 (ベンダー:Apple)この出力が表示されている例のコードコメントは、パケットがイーサネットフレームであることを示しています。そのため、まずIPパケットの開始位置を見つけてヘッダーを確認する必要があります。 – pmdj