fi6s 是一款 IPv6 連接埠掃描器,設計速度快。這是透過非同步發送和處理原始資料包來實現的。設計和目標與 Masscan 非常相似,儘管它的功能還不那麼齊全。
在任何最新的 Linux 系統上建立 fi6s 都相當容易,例如在 Ubuntu 上:
# apt install gcc make git libpcap-dev
$ git clone https://github.com/sfan5/fi6s.git
$ cd fi6s
$ make BUILD_TYPE=release
掃描器可執行文件將在./fi6s
處準備就緒。
請注意,fi6s 僅在 Linux 上開發和測試。它應該可以在其他類似 UNIX 的平台上運行,但不要指望它可以在 Windows 上運行。
使用非常簡單,fi6s 會嘗試自動偵測髒技術細節,例如來源、路由器 MAC 位址和來源 IP。
# ./fi6s -p 80,8000-8100 --max-rate 170 2001:db8::/120
這個例子將:
list
」格式輸出至標準輸出有更多不同的方法來指定要掃描的位址範圍,如果您不確定將要發生什麼,請使用--print-summary
運行 fi6s 來獲得有關掃描的快速概述,或--print-hosts
來列印所有潛在的IP 。
如需更多進階功能,請參閱fi6s --help
的輸出。
遠端主機回應新連線或偵測請求而傳送的資料稱為「橫幅」。 fi6s 讓收集這些變得容易。
您需要做的就是傳遞--banners
選項:
# ./fi6s -p 22 --banners 2001:db8::xx
將--udp
標誌加入命令列:
# ./fi6s -p 53 --banners --udp 2001:db8::xx
請注意,與 TCP 不同,只有當您掃描 fi6s 支援探測的協定的連接埠時,您才會獲得有用的(或任何)結果。使用fi6s --list-protocols
查看清單。
由於 fi6s 帶來了自己的最小 TCP/IP 堆疊,因此必須阻止作業系統嘗試在 fi6s 使用的相同連接埠上與 TCP 通信,否則會破壞掃描過程。在這種情況下,它通常會發送 RST 幀。
預設情況下,fi6s 會要求作業系統保留一個臨時連接埠並在掃描期間使用它。這只適用於 Linux。
如果這不起作用或您位於不同的平台上,您將必須使用靜態來源連接埠並配置防火牆以丟棄該連接埠上的流量,例如:
# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx
由於 UDP 是無連接的,因此無需防止幹擾,儘管這仍然是防止作業系統發送不必要的 ICMPv6 無法到達回應的好主意(fi6s 預設也會嘗試這樣做)。