zmap使用筆記


zmap使用筆記

zmap, 一個網絡端口開放性的快速掃描工具。至於這個工具的特色,配置參數,和比的工具的對比,不做介紹。只記錄一下近期使用過程中,遇到的問題。軟件版本:2.1.1


傳言與現實

  1. 傳言:一小時之內掃描完整過互聯網

    傳言的基礎條件:

    1. 1000Mbps的網絡
    2. 網絡運營商或者雲供應商不將此機器判定為DDOS攻擊者(大量對外發送TCP syn包)
  2. 傳言:掃描結果誤差率2%

    使用結論:無法顯示傳言中如此低的誤差率。使用了三個機房,不同網絡供應商在同時啟動掃描點情況下對一個A類網絡地址段的掃描,三個機房得到的結果中,開放同一端口的IP數據重復率約為 80%,誤差率其實非常高。


需要注意的點:

  1. 配置參數中的數據包速率與帶寬限定。在使用的2.1.1版本zmap,配置參數中的 --rate(-r)--bandwidth(-B) 兩項,當配置了后者,也就是帶寬限制之后,數據包發送項會被覆蓋。例如:zmap -B 10Mbps -r 2000 -p 8080 這樣的參數,實際上發送數據的速率是 15000p/s,而非 2000p/s

  2. 默認的黑名單。在使用 yum 安裝的 zmap 中,默認的配置文件 /etc/zmap/zmap.conf 中指定了默認的黑名單文件/etc/zmap/blacklist.conf,默認屏蔽掉的是內網網絡地址段。做內網掃描的朋友需要注意以下。

  3. zmap 設置了帶寬限制之后,實際對於出口帶寬的利用率為 70% 左右。例如 zmap --bandwidth=100Mbps,此時實際出口帶寬的使用量在 70Mbps左右。

  4. 官方文檔中的錯誤配置參數summary。zmap官方文檔中如下內容:

-g, --summary
Print configuration and summary of results at the end of the scan

在執行zmap --help中已經沒有此配置選項,取而代之的是:

-m, --metadata-file=name Output file for scan metadata (JSON)`

如果需要掃描結論的朋友,需要注意此處。(官方文檔不靠譜的開源軟件,第一次遇見)


zmap掃描結果輸出到Redis

如此簡單的一件事情,卻需要一個單獨的段落來記錄。

  • 支持 tcp 與 local socks 方式連接 Redis
  • tcp 連接 Redis 的方式不支持 Redis 密碼,也不支持選擇 Redis DB,如果此 Redis 在公網可需要小心了。
  • 輸出到 Redis 有兩種格式 redis-packed 與 redis-csv ,前一種為 Redis 二進制數據,后一種會以隊列方式存儲到 Redis。
  • 輸出模塊 redis-csv,寫入 Redis 隊列的條件是,每1000個結果寫入一次,並非實時。
  • 輸出模塊 redis-csv,在寫入 Redis 中的數據,默認配置下沒有做結果過濾。也就是說,存在對方返回 tcp rst數據包(對方拒絕),存在超過配置的cooldown時間的數據等結果。
  • 建議配置 output-fiedlsoutput-filter

示例配置文件一份。

#tination port to scan
target-port 8080
# cooldown time
cooldown 15

### Scan rate in packets/sec
#rate 10000
rate 2000

### Scan rate in bandwidth (bits/sec); overrides `rate`
#bandwidth 1M   # 1mbps
#bandwidth 8M   # 8Mbps

#output-fields "daddr,sport,seq,ack,in_cooldown,is_repeat,timestamp"
output-fields "saddr,sport,ttl,cooldown,repeat,timestamp-str,classification,success"
output-filter "success = 1 && cooldown = 0 && repeat = 0"
#output-filter "(success = 0 || success = 1) || (cooldown = 1 || cooldown = 0)"

output-file=/tmp/zmap.result
#output module. use zmap --list-output-modules list support modules
# output-module=redis-csv

#output redis args. tcp://ip:port/queuename
# output-args=tcp://127.0.0.1:6379/zmap

### Blacklist file to use. We encourage you to exclude
### RFC1918, IANA reserved, and multicast networks,
### in addition to those who have opted out of your
### network scans.
blacklist-file "/etc/zmap/blacklist.conf"

### Optionally print a summary at the end
#quiet
metadata-file /tmp/zamp.metadata

保存上面配置文件。例如 /tmp/zmap.conf

執行 zmap -C /tmp/zmap.conf,即可掃描全網。配置文件中速率限定為 2000,如果網絡不中斷的話,大概需要 21天才能掃面完全網 8080 端口


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM