traffic_learner — トラフィック生成を支援する Samba ツール
traffic_learner {-o OUTPUT_FILE ...} [-h] [--dns-mode {inline|count}] [SUMMARY_FILE] [SUMMARY_FILE ...]
このプログラムは samba(7) システムの一部である。
このツールは Samba トラフィックを生成するために利用する。
	このツールでは、traffic_summary.pl によって生成される
	トラフィックサマリファイルを入力として、
        トラフィックモデルファイルを生成する。
        このファイルを traffic_replay が処理することで、トラフィックが生成される。
	
モデルファイルには、ネットワーク上に発生するトラフィックの種類 (ホストと Samba DC 間の 'やりとり')がまとめられている。 当該ファイルに記述されたトラフィックはスケール可能な形式であるため、 ネットワーク上で観察される状態に対して、送信されるパケット数を増減したり、 パケットの送信レートを増減したりできる
コマンドラインオプションの要約を表示する。
	ネットワークのトラフィック要約を含むファイル。トラフィック要約ファイル
	は、実際のネットワークのパケットキャプチャから、
	traffic_summary.pl によって生成されなければならない。
	複数のファイルが指定でき、その場合は、トラフィックは、
	1つのトラフィックモデルにまとめられる。
	SUMMARY_FILE を指定しない場合、このツールはトラフィック要約を、
	標準入力から読む。すなわち、traffic_summary.pl からの出力を
	パイプでつないで直接このツールに繋げられる。
	
	生成されたトラフィックモデルを書き込むファイルを指定する。
	OUTPUT_FILE は、Samba のネットワークトラフィックを生成
	(および操作)するために、traffic_replay
	に渡すことができる。
	
モデルによって扱われる DNS トラフィックの指定。
traffic-summary ファイルを使い、traffic-model ファイルを 生成するには、以下のように行なう:
traffic_learner traffic-summary.txt
	-o traffic-model.txt
パケットキャプチャから traffic-model を生成するには、 以下のように、traffic summary を標準入力に繋ぐ:
tshark -r capture.pcapng -T pdml |
	traffic_summary.pl | traffic_learner -o traffic-model.txt
出力モデルファイルは、最後の2つのパケットが与えられた時に 発生するパケットの確率を推定するマルコフモデルを記述する。
連続したパケットの組の後に来る、各(パケットの)連続が格納され、 それらのカウントの比率が、次のパケットの確率を計算するのに使われる。
モデルは JSON 形式で格納され、さらに、 パケットレートと DNS トラフィックレートについての情報も格納されている。
以下のリストは、単一の ngram エントリの不自然な例である。
          "ngrams": {
             "ldap:0\tdcerpc:11": {
                 "lsarpc:77": 1,
                 "ldap:2": 370,
                 "ldap:3": 62,
                 "wait:3": 2,
                 "-": 1
             }, [...]
          }
        これは、LDAPパケット opcode 0 (バインド)に続いて
	dcerpc パケットが opcode 11(これもバインド)が来た後、
	観察された継続をカウントする。次に来るパケットで最も一般的な
	ものは、"ldap:2" という unbind を意味するものであり、
	これは、リプライで、最もよく選ばれるパケットタイプである。
	極端な別の例としては、lsarpc opcode 77 (lookup names) であり、
	これは1回だけ現れ、めったに発生しないが、リプライで選択される
	可能性はある。
        
 2つの特別なパケットタイプがある。
        "wait:3" は、 通信中の一時的な中断を参照し、
	"3" 疑似オペコードは、待ち時間の長さを指数形式で指示する。
        そのため、"wait:4" は、 "wait:3", よりも
	約 2.7 倍長くなり、同様に "wait:2" よりも長くなる。
        
その他の特別なパケットは "-" で、これは 通信の限界を示す。
	先の例では、この特定の ngram の後で、1つの観測された
	通信が終わることを指定する。この特別なオペコードは、
	ngram "-\t-" と示すことで、通信の開始にも使う。