
Nrayは無料で、プラットフォームやアーキテクチャに依存しないポート及びアプリケーション層スキャナです。
nrayは分散方式で動作し、スキャンを高速化し、異なる視点からスキャンを実行します。
イベントベースの結果により、スキャン中に情報をさらに処理できます(例:jqなどのツールを使用)。
ユーザードキュメントをお探しの場合は、プロジェクトホームページをご覧ください。 nrayの開発や貢献に関する情報については、以下をお読みください。
git checkout後、go buildを呼び出すことでプロジェクトをビルドできます。
Nrayは純粋なGoで書かれており、この要件を満たす依存関係のみを選択するように注意が払われています。したがって、標準のGoインストール(およびgit)があれば、任意のサポート対象プラットフォーム上および向けにnrayをビルドするのに十分です。つまり、libpcapのようなライブラリへの依存性はありません。
それでも、プロダクションバージョンのビルドにはmakefileを使用することが想定されています(make release)。これにより、C依存関係がリンクされず、バイナリからシンボルが削除されて容量が節約されます。
また、最も一般的なオペレーティングシステム用のバイナリが自動的に作成されます。
makeを呼び出すと、現在のOSとアーキテクチャに合わせたローカル開発バージョンがビルドされ、CライブラリとGoのレース検出器がリンクされます。
単にgo buildを実行します。クロスコンパイルが必要な場合は、GOOSおよびGOARCHパラメータで対象のOSとアーキテクチャを制御します。
ノードの場合、サーバーの場所とポートをバイナリに直接注入することが可能です:go build -ldflags "-X main.server=10.0.0.1 -X main.port=8601"。
より小さいバイナリを得るには、go buildを呼び出す際に-ldflags="-s -w"で不要なものを削除します。
protobufスキーマを再ビルドする必要がある場合(ワイヤプロトコルを変更しない限り不要です)、make create-schemasを実行します(システムにprotobufコンパイラが必要です)。
コードを取得して、気になる点を修正したり、素晴らしい新機能をハックしてください! すべての貢献を歓迎し、目標はnrayをユーザーと貢献者にとって素晴らしいプロジェクトにすることです!
コードはgo vetとgo lintによる標準チェックに合格する必要があります。 Nrayは常に最新のGoリリースに対して開発されています。そのため、nrayのビルドに問題がある場合は、最新のGoバージョンがインストールされているか確認してください。
Copyright 2019 by Michael Eder. GPLv3のもとでライセンスされています。LICENSEをご覧ください。