nDPI® は、ディープ パケット インスペクション用のオープン ソース LGPLv3 ライブラリです。 OpenDPI に基づいており、ntop 拡張機能が含まれています。
新しいnDPIバージョン4.6のリリースが発表されました。このバージョンでは、より多くのプロトコルのサポートや、ファジングコードによって強化された堅牢性など、いくつかの改善が加えられています。また、いくつかのプロトコルにおけるプロトコルメタデータの抽出精度が向上したほか、ホスト名におけるDGA検出機能も強化されています。
nDPIの特徴は、ntopとnProbeの両方で使用され、使用ポートに関係なくアプリケーション層でプロトコル検出機能を追加する点にあります。つまり、非標準ポート上の既知のプロトコルを検出することが可能です。
このプロジェクトでは、ネットワークポートに縛られることなくネットワークアクティビティの性質を分析することで、トラフィックで使用されているアプリケーション層プロトコルを特定できます(たとえば、HTTPがポート80以外から送信された場合、または逆に、他のネットワークアクティビティをポート80で実行されているHTTPとして偽装しようとする場合など、コントローラが非標準のネットワークポートで接続を受け入れる既知のプロトコルを特定できます)。
nDPI4.6の主な新機能
nDPI 4.6 の新リリースでは、nBPF フィルタを使用してカスタム プロトコルを定義する機能が提供されました(例: 'nbpf:»host 192.168.1.1 and port 80″@HomeRouter')。
トラフィック分析の性能も大幅に向上し、 HTTP URL内のWebShellおよびPHPコードの検出、DGA(ドメイン生成アルゴリズム)の定義も改善されました。
侵害リスク(フローリスク)に関連する検出可能なネットワーク脅威および問題の範囲が拡大されました。新たに、NDPI_HTTP_OBSOLETE_SERVER(Apacheおよびnginxの旧バージョンを検出)、NDPI_PERIODIC_FLOW、NDPI_MINOR_ISSUES、NDPI_TCP_ISSUESといった脅威タイプがサポートされるようになりました。
このバージョンのもう一つの新機能は、ファジングテストの実装、 AES-NI命令検証の改善、およびJSONデータシリアル化の改善です。
さらに、Patricia、Ahocarasick、LRUキャッシュの統計情報が追加され、 LRUキャッシュエントリの経過時間ロジックが構成可能になり、RTPストリームからメタデータをストリーミングするためのサポートが追加され、ndpiReaderユーティリティがLinux Cooked Capture v2プロトコルのサポートを実装したことも特筆すべき点です。
プロトコルとサービスのサポート追加の一部:
- Activision
- AliCloud サーバーへのアクセス
- Avastを
- クライネットワーク
- エニーデスク
- Bittorrent (信頼性の修正、TCP 経由の検出)
- DNS、逆アドレス解決に使用される DNS PTR レコードをデコードする機能を追加
- DTLS (証明書フラグメントの処理)
- FacebookのVoIP通話
- FastCGI (PARAMS の分析)
- FortiClient (デフォルト ポートの更新)
- Discord
- edns
- Elasticsearch
- 高速CGI
- 宿命
- Liane アプリとラインの VoIP 通話
- メラキ クラウド
- ムアニン
- NATPMP
- HTTP 下位分類
- HTTP で空または欠落しているユーザー エージェントを確認する
- IRC (資格証明チェック)
- Jabberの/ XMPP
- Kerberos (Krb-Error メッセージのサポート)
- LDAP
- MGCP
- MONGODB (誤検知を避ける)
- シンシケーション
- TP-LINK スマートホーム
- あなたのLAN
- SoftEtherVPN
- テールスケール
- TiVoコネクト
- SNMP
- SMB (複数の TCP セグメントに分割されたメッセージのサポート)
- SMTP (X-ANONYMOUSTLS コマンドのサポート)
- スタン
- SKYPE (UDP 経由の検出を改善し、TCP 経由の検出を削除)
- Teamspeak3 (ライセンス/Weblist 検出)
- スリーマメッセンジャー
- Zoom
- Zoom画面共有検出を追加
- STUN に Zoom ピアツーピア フローの検出を追加
- Hangout/Duo Voip 通話の検出、プロトコル ツリーでのルックアップの最適化
- HTTP
- HTTP-Proxy および HTTP-Connect の処理
- Postgres
- POP3
- QUIC (最初の前に受信した 0-RTT パケットのサポート)
- Snapchat VoIP 通話
最後に、この新バージョンについてさらに詳しく知りたい場合は、以下のリンクから詳細をご確認いただけます。
LinuxにnDPIをインストールするにはどうすればいいですか?
このツールをシステムにインストールできるようにすることに関心がある場合は、以下で共有する手順に従ってインストールできます。
ツールをインストールするには、ソースコードをダウンロードしてコンパイルする必要がありますが、その前に、Debian、Ubuntu、または派生ディストリビューションのユーザーの場合は、まず以下のものをインストールする必要があります。
sudo apt-get install build-essential git gettext flex bison libtool autoconf automake pkg-config libpcap-dev libjson-c-dev libnuma-dev libpcre2-dev libmaxminddb-dev librrd-dev
Arch Linuxユーザーの方へ:
sudo pacman -S gcc git gettext flex bison libtool autoconf automake pkg-config libpcap json-c numactl pcre2 libmaxminddb rrdtool
ここで、コンパイルするには、次のように入力して取得できるソースコードをダウンロードする必要があります。
git clone https://github.com/ntop/nDPI.git cd nDPI
そして、次のように入力してツールのコンパイルに進みます。
./autogen.sh make
このツールの使い方についてさらに詳しく知りたい場合は、以下のリンクを参照してください。