このプロジェクトは、eBPFとXDP(eXpress Data Path)を使用して、xmrigとの通信を検出し、ブロックするためのツールです。
- マイニングプールの一般的なポート(3333, 14444, 14433)への通信を検出
- 検出されたマイニング通信のパケットを自動的にドロップ
- 通信の詳細(送信元ポート、宛先ポート、パケットサイズ)をログに記録
このプロジェクトは以下の技術を使用しています:
- Rust言語
- eBPF(Extended Berkeley Packet Filter)
- XDP(eXpress Data Path)
- aya-ebpfフレームワーク
- Linux カーネル 4.9以上
- Rust ツールチェーン
- LLVM/Clang
- libbpf
cargo build --release- プログラムをビルド
cargo build --release- 管理者権限で実行
sudo ./target/release/xdp-log- 指定されたネットワークインターフェースにXDPプログラムをアタッチ
# インターフェース名を指定して実行
sudo ./target/release/xdp-log -i eth0
# デバッグログを有効にして実行
sudo RUST_LOG=debug ./target/release/xdp-log -i eth0- プログラムの停止
# Ctrl+Cでプログラムを停止
# または
sudo killall xdp-log- このプログラムは管理者権限(root)で実行する必要があります
- ネットワークインターフェースの設定によっては、XDPの動作モードが制限される場合があります