我想使用NMAP檢測運行Telnet和SSH的所有主機,即使它們沒有使用默認端口。然後,我想將NMAP的輸出發送到一個文件,該文件定義NCRACK使用的非標準服務。
我運行NMAP與-sV開關來檢測版本,並獲得與此類似:爲ncrack解析nmap輸出使用
Nmap scan report for 192.168.1.1
Host is up (0.0019s latency).
Not shown: 996 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh Dropbear sshd 2015.67 (protocol 2.0)
23/tcp open telnet?
Nmap scan report for 192.168.1.133
Host is up (0.0048s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
2323/tcp open telnet Linux telnetd
4444/tcp open ssh (protocol 2.0)
我需要處理此輸出,創建一個這樣的文件:
ssh://192.168.1.1:22
ssh://192.168.1.133:4444
telnet://192.168.1.1:23
telnet://192.168.1.133:2323
我明白使用NMAP XML輸出和xmllint會有所幫助,但在此之後我卡住了。
在此先感謝您的幫助。
你需要堅持bash嗎?因爲字面上任何更全面的編程語言都應該更好地處理這個問題。我發現用於處理來自shell的XML的唯一工具是[xmlsh](http://www.xmlsh.org/Commands),不確定這是否更容易成爲您的依賴項。 – millimoose
但是,我不認爲SO上的人會最終爲你寫腳本。從你的問題來看,你還不清楚你甚至看過XML輸出,看看你需要哪些部分。 – millimoose
@millimoose我已經看過XML輸出,但交互式輸出對於提出問題的目的似乎更具可讀性。 – Gezzaroy