私は数ヶ月間この小さなスクリプトを成功させてきました。今日、私は画面が新しいプロンプトで空白に来る、キャッチしているように見えるカントつの出力があります実現:私は、IPアドレスの1に対してnmapのを実行する場合はここでAWK正規表現をキャッチ
[email protected] ~]$ myscan ipsFile 23
[email protected] ~]$
はコード
#!/bin/bash
sudo nmap -v -Pn -p T:$2 -reason -i $1 | awk ' {
if (/syn-ack/) {
print "Yes"
c++
}
else if (/no-response|reset|host-unreach/) {
print "No"
c++
}
}
END { print c} '
です
Starting Nmap 5.51 (http://nmap.org) at 2017-09-26 11:44 CDT
Initiating Parallel DNS resolution of 1 host. at 11:44
Completed Parallel DNS resolution of 1 host. at 11:44, 0.00s elapsed
Initiating Connect Scan at 11:44
Scanning 1.1.1.1 [1 port]
Completed Connect Scan at 11:44, 0.20s elapsed (1 total ports)
Nmap scan report for 1.1.1.1
Host is up, received user-set (0.20s latency).
PORT STATE SERVICE REASON
23/tcp filtered telnet host-unreach
Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.26 seconds
「host-unreach」部分はどのように取得できますか?
あなたのスニペットを試してみましたが、同じものが出力されます。 –
実際に、nmap出力から "filtered"という単語をマッチさせようとすると、うまくいきません。 "unreach"の部分だけにマッチさせようとすると動作しません。 –