首先先發現活躍主機(在之前的文章中寫過) nmap -sP 192.168.2.1/24
進行系統指紋識別
這里雖然沒有識別出來系統類型,但是看到端口62078的監聽服務是iphon-sync,所以可以推出這個系統應該是ios。這個端口是iphon中默認的wifi同步服務端口,但可能從未使用過此端口,所以可以將它關閉。
可以看出,工具推測此台電腦最有可能是windows 10操作系統。
指紋識別工具p0f
p0f是一款被動指紋識別工具,通過分析目標主機的數據包對主機上的操作系統進行識別,即便裝有性能良好的防火牆也沒有用。
官方提供的功能描述:
- 高度可擴展且極快地識別vanilla TCP連接的兩個端點上的操作系統和軟件 - 特別是在Nmap探測器被阻塞,速度太慢,不可靠或簡單地引發警報的設置中。
- 測量系統正常運行時間和網絡連接,距離(包括NAT或數據包過濾器后面的拓撲),用戶語言首選項等。
- 自動檢測連接共享/ NAT,負載平衡和應用程序級代理設置。
- 檢測偽造聲明性語句的客戶端和服務器,例如X-Mailer或User-Agent。
選項列表:p0f [options] ['filter rule']
-i interface | 在指定的網絡接口上偵聽 |
-r 文件 | 從給定文件讀取離線pcap數據 |
-p | 偵聽界面置於混雜模式 |
-L | 列出所有可用的接口 |
-f 文件 |
列出所有可用的接口 |
-o 文件 | 將信息寫入指定的日志文件 |
-s 名稱 | 在命名的unix套接字上回答API查詢 |
-u 用戶 | 切換到指定的無特權帳戶和chroot |
-d-fork | 切換到指定的無特權帳戶和chroot |
-S 限制 | 並行API連接數限制(20) |
實例:首先使用wireshark抓包生成test.pcap
然后 p0f -r 下載/test.pcap -o p0f-result.log 進行分析
###截取的部分內容 .-[ 192.168.2.122/59278 -> 106.120.159.126/443 (syn) ]- | | client = 192.168.2.122/59278 //客戶端地址 | os = Linux 3.11 and newer //系統 | dist = 0 //矢量距離 | params = none | raw_sig = 4:64+0:0:1460:mss*20,7:mss,sok,ts,nop,ws:df,id+:0 | `---- .-[ 192.168.2.122/59278 -> 106.120.159.126/443 (mtu) ]- | | client = 192.168.2.122/59278 | link = Ethernet or modem //接口類型 | raw_mtu = 1500 //最大包長度 | `---- ### 其中並不全 ### 有時還有 app= 表示應用 lang= 表示語言類型
服務指紋識別
這里識別的服務指紋信息包括服務的端口、服務名和版本
nmap中的nmap-services記錄了大約2200個知名服務端口的數據庫,nmap將盡力去發現這些。但是並不能保證發現全部的服務,比如更改了服務端口就可能發現不了服務的正確端口了。
選項列表:
-sV 版本檢測 --allports 掃描全部端口 --version-intensity 設置版本掃描強度,0到9之間,越大強度和可能性越高,但是速率也會越小,因此默認為7,當然也可以使用這個來更改 --version-light 輕量版的掃描,也就相當於把掃描強度設為2 --version-all 嘗試所有探針,也就相當於吧掃描強度設為9 --version-trace 跟蹤掃描過程,不光顯示最終結果,也顯示調試過程的信息 實例: nmap -sV 192.168.2.100
可以看到打開的端口,服務類型和服務版本
服務枚舉工具Amap
被形容為下一代掃描工具,主要用於識別運行在某一些指定端口上的應用程序。
通常的使用方法 amap -bq ip port 例:amap -bq 192.168.2.100 1-1080
語法:amap [-A | -B | -P | -W] [-1buSRHUdqv] [[ - m] -o <file>] [-D <file>] [-t / -T sec] [-c cons] [-C retries] [-p proto] [-i <file>] [目標端口[端口] ] ...]
模式:
-A地圖應用程序:發送觸發器並分析響應(默認)
-B只需抓取橫幅,不發送觸發器
-P無橫幅或應用程序內容 - 是(完全連接)端口掃描程序
選項:
-1僅發送觸發到端口,直到第一次識別。Speeeeed!
-6使用IPv6而不是IPv4
-b打印響應的ascii標志
-i FILE Nmap機器可讀輸出文件從-u 讀取端口
命令行上指定的端口是UDP(默認為TCP)
-R不要識別RPC服務
-H不要發送標記為可能有害的應用程序觸發器
-U不要轉儲無法識別的響應(更好地用於腳本)
-d轉儲所有響應
-v詳細模式,使用兩次(或更多!)進行調試(不推薦-
q不報告關閉的端口,也不要將它們打印為unidentified
-o FILE [-m]將輸出寫入文件FILE,-m創建機器可讀輸出
-c CONS要進行的並行連接數量(默認為32,最大256)
-C RETRIES連接超時時重新連接的次數(請參閱-T)(默認值為3)
-T SEC連接嘗試時連接超時(以秒為單位)(默認值為5)
-t SEC響應等待超時(以秒為單位)(默認值為5)
-p PROTO僅發送此協議的觸發器(例如ftp)
目標端口要掃描的目標地址和端口(除-i之外)
amap是用於識別目標端口上的應用程序協議的工具。
注意:此版本未使用SSL支持進行編譯!
用法提示:建議使用選項“-bqv”,為快速/緊急檢查添加“-1”。實例:amap -bq 192.168.2.100 1-1080
有點多,所以截取了有特征的一部分
![]()
可以看到,有些端口可以鏈接,有些不可以,有些可以分析出什么服務在監聽端口,比如圖中的http, apache , IIS