[總結]全網掃描速度簡單對比系列

導讀:原因

原因python

想快速獲取全部服務去的uptime的信息
一、首先要獲取局域網全部存活機器
二、而後判斷是不是服務器[依據是22端口的開發與否]
三、基於Ansible 併發50來跑uptime信息

1、shell腳本系列

1.一、本身寫個for循環 [局域網存活機器144臺]shell

time for ((x=1; x<=255; x++)); do if ping -c1 192.168.0.$x &>/dev/null;then echo 192.168.0.$x;fi;done

real    5m30.509s
user    0m0.062s
sys     0m0.166s


可能夠探測全網
輸出可視化強
不能區分網絡設備和服務器

1.二、基於ping的namp掃描 [局域網存活機器144臺]服務器

nmap -sP  192.168.0.0/24
real    0m11.797s
user    0m0.019s
sys     0m0.015s

速度快
能夠探測全網
輸出可視化差
不能區分網絡設備和服務器

1.三、shell併發 [局域網存活機器144臺]微信

time for ((x=1; x<=255; x++)); do echo 192.168.0.$x; done | xargs -n1 -P 255 -I {} ping -c1 {} 2>/dev/null | awk /ttl/'{print $4}'

real    0m10.054s
user    0m0.037s
sys     0m0.149s

速度快
能夠探測全網
輸出可視化強
不能區分網絡設備和服務器

2、python 腳本系列

2.一、針對主機存活網絡

1.一、python的nmap模塊
1.二、本身寫多線程掃描工具

2.二、針對端口多線程

2.一、基於socket的端口探測

3、真正的生產環境中的場景覆蓋

  • 3.一、vip有不少,這種ip沒法對應真實的交換路由設備或服務器併發

  • 3.二、網絡設備和服務器都是有必定數量的,因此單純的ping是無效的,簡單粗暴的方式就是掃描22和23端口來稍加區分socket

  • 3.三、基於每一個公司的特殊場景,有些服務器是禁ping的,因此基於ping方式獲取主機列表是有bug的工具

4、其餘

  • 4.一、未涉及到的東西還有不少不少,後面再慢慢補吧ui

  • 4.二、Zmap

  • 4.三、ZGrab

  • 4.四、圖形化的IP管理工具等

本文分享自微信公衆號 - 追馬Linux(zhuima_k8s)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索