tshark
是網絡分析工具wireshark
下的一個工具,主要用於命令行環境進行抓包、分析,尤爲對協議深層解析時,tcpdump
難以勝任的場景中。本系列文章將整理介紹tshark
相關內容。本文將介紹與tshark
相關的開源系統。html
Apache Spot
是一個開源軟件,提供流量和數據包分析的洞察力。經過透明的服務交付,能夠幫助識別企業與服務提供商或在雲規模運營的資源之間發生的攻擊、潛在安全威脅,深刻了解其網絡環境及安全風險。雖然威脅情報工具備助於識別未知威脅
和攻擊,但發現未知威脅仍然是一項挑戰。 Apache Spot
經過大數據和科學計算學科中強大的技術,專一於檢測諸如橫向移動,旁道數據逃逸,內幕問題或隱身行爲等事件的「深層安全問題」,使用流量和數據包分析技術暴露可疑鏈接和之前看不見的攻擊的能力,爲公司構建一個旨在支持這一戰略的解決方案。git
感知Telemetry github
並行採集框架Parallel Ingest Framework docker
機器學習Machine Learning apache
操做分析Operational Analytics json
由上圖可知,Apache Spot
在處理DNS流量時採用tshark
方案,用於協議解析數據ETL
等工做。segmentfault
根據架構圖,發現主要在ingest模塊,查看相關源碼,能夠發現Spot
是如何應用tshark
的。具體代碼以下:瀏覽器
查看源碼 spot-ingest/pipelines/dns/worker.py安全
# build process cmd. process_cmd = "tshark -r {0}{1} {2} > {0}{1}.csv".format(self._local_staging, file_name, self._process_opt)
再查看相關配置 spot-ingest/ingest_conf.json網絡
"dns":{ "type":"dns", "collector_path":"/collector_path/dns", "local_staging":"/collector_path/dns/tmp", "supported_files":[".pcap"], "pkt_num":"650000", "pcap_split_staging":"/collector_path/dns/dns_staging", "process_opt":"-E separator=, -E header=y -E occurrence=f -T fields -e frame.time -e frame.time_epoch -e frame.len -e ip.src -e ip.dst -e dns.resp.name -e dns.resp.type -e dns.resp.class -e dns.flags.rcode -e dns.a 'dns.flags.response == 1'" },
上面Dshark
命令主要爲讀取記錄的pcap報文,按照格式輸出爲.csv文件,其中主要參數見上方的process_opt配置。詳細介紹可參考本系列上篇文章: tshark使用示例(2),有相似命令做用解析。
docker
環境docker
鏡像: docker pull apachespot/spot-demo
docker run -it -p 8889:8889 apachespot/spot-demo
http://localhost:8889/files/ui/flow/suspicious.html#date=2016-07-08
參考
系列文章: