作業系統識別-python、nmap

來源:互聯網
上載者:User

標籤:gif   imp   time   sys   判斷   asp   最簡   圖片   主機   

識別作業系統主要是用於作業系統漏洞的利用。不管是windows還是linux系統,在安裝完畢後都會預設啟動一些服務,開啟一些連接埠。

識別目標主機的系統最簡單的方法就是發送ping包,windows起始ttl值預設為128,linux和unix系統預設為64,還有一些特殊的unix系統的ttl值為255.為ping區域網路內的兩台主機,一台為win xp(192.168.0.104),一台為metasploitable2靶機(192.168.0.108):

可以明顯地看到,windows發送的pin回包ttl值是128,而linux發送的ttl值是64.

 1 #!/usr/bin/python 2 from scapy.all import * 3  4 if len(sys.argv) != 2: 5     print "this script needs one arg!\nExample:./ttl_os.py 192.168.0.0 or ./ttl_os.py baidu.com" 6     sys.exit() 7  8 ip = sys.argv[1] 9 r = sr1(IP(dst = ip) / ICMP(), timeout = 1, verbose = 0)10 11 if r == None:12     print "no response!"13 elif r[IP].ttl <= 64:14     print "Linux or Unix!"15 elif r[IP].ttl > 64 and r[IP].ttl <= 128:16     print "Windows!"17 else:18     print "Unix!"
python代碼實現

ttl值可以通過軟體變更,所以僅僅通過ttl值進行的判斷並不總是準確的。而強大的nmap又提供了強大的參數-O,可以根據多種特徵進行系統識別,執行nmap 192.168.0.108 -O命令,得到結果:

當然了,即使使用nmap這個強大的工具得到的結果也有可能不完全準確,小編使用nmap掃描win xp 家庭版得出的結果是win xp 專業版或者win2003.

作業系統識別-python、nmap

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.