我寫的是這樣的:搜索再次搜索範圍
OUT=$(nmap -p "$port" --script=http-headers.nse "$ip"
例如輸出爲:
|http-headers:
| Server: Apache
| Vary: Accept-Encoding
| Content-Type: text/html; charset=utf-8
| Date: Thu, 06 Feb 2014 07:31:33 GMT
| Age: 25
| Connection: close
但我輸出的長度是可變的。 所以我想要在我的輸出中的行之間進行搜索(最好使用sed
或awk
) 並檢查一個條件。例如,如果它看到Apache
從3線至8號線則呼應right
編輯:
我的腳本:
#!/bin/bash
echo "Reading data - headers - both"
if [ $# -ne 3 ]; then
echo "Usage: ./nmap <port-range> <ip-list> <d || h || b>"
exit 1
fi
if [ $3 == h ]; then
while read -r -u3 port; do
while read -r -u4 ip; do
echo -n "$ip $port: "
OUT=$(nmap -p "$port" --script=http-headers.nse "$ip" |
tail -n 13 |
awk -F: '{print $2; exit}') in other lines
[[ $OUT == *Apache* ]] && echo right || echo wrong
done 4< "$2"
done 3< "$1"
elif [ $3 == d ]; then
echo data
elif [ $3 == b ]; then
echo both
fi
我希望把我正確的結果在文件...例如:
cat right.txt
ip1 port1
ip2 port2
cat wrong.txt
ip1 port1
ip2 port2
謝謝。當運行腳本./nmap2.sh端口ip h時,它顯示我這樣的:./nmap2.sh端口ip h 讀取數據 - 頭文件 - 都是 連接:缺少操作數 嘗試'join --help'以獲取更多信息。 – MLSC
您是否在運行腳本的同一文件夾中有名爲port和ip的文件? – BMW
是的我的朋友...他們都在同一個文件夾 – MLSC