2011-08-11 23 views
0

これは、特定のポートが開いている(この場合はポート80)コンピュータのIP範囲をNmapでスキャンし、見つかったすべてのIPをテキストファイルに出力したいこの形式:Nmapスキャン範囲出力ファイルの問題

192.168.0.1 
192.168.0.185 
192.168.0.192 
192.168.0.195 

ファイルを出力するので、私は、このコマンドを使用してみました:

「output.txtとは」結果が含まれる出力ファイルです
nmap -sT -p 80 -ttl 40 192.168.0.0-255 -oG - | grep "80/open" > output.txt 

Host: 192.168.0.1() Ports: 80/open/tcp//http/// 

だから私は基本的に出力のみにポート80オープン、何もないとIPアドレスを、それをしたい:だからoutput.txtとの行は次のよう に見えます。 "Host:"または "()"と "Ports:80/open/tcp // http ///"の行を出力しないようにします。とにかくNmapに出力ファイルにそのようなものを入れさせないようにすることができますか?または、 のIPアドレスを出力するだけですか?私は地図ページを見てみましたが、それはほとんど役に立ちませんでした。そして、私はインターネット上のすべてを見て、それはあまり役に立ちませんでした。だから私はこれをどのようにすることができるか知っていますか?ありがとう

答えて

0

nmapを持っていることは、あなたが本当にいいと思うものを正確に生み出します。しかし、より一般的な解決策として:

$ nmap ... | grep ... | tr '/' ' ' | awk '{ print $2,$5; } 
192.168.0.1 80 

または多分:

nmap ... | grep ... | tr '/' ' ' | cut -d' ' -f2,8 
1

Awkのはあなたの友達です!

$ nmap -sT -p 80 192.168.0.0/24 -oG - | awk '/ 80\/open/{print $2}' > output.txt 

これは、ポート80のオープン(あなたは1ポート以上をスキャンすることを計画している場合、80の前にスペースを気づく!)、および印刷フィールド2、空白に分割して行を検索します。それを行うための別の方法は次のようになります。

$ nmap -sT -p 80 --open 192.168.0.0/24 -oG - | awk '$4=="Ports:"{print $2}' > output.txt 

この1だけ開いているポートを持つホスト用の出力を生成するためにNmapのに--open引数を使用しています。 awkコマンドは、IPアドレスを出力する前に、 "Status"行(-vを使用している場合にのみ表示されますが、私は肯定的ではありません)ではなく、 "Ports"行であることを確認します。

いくつかの異なる情報を抽出する場合は、スキャンを繰り返す必要がないように、スキャン結果をファイルに保存するのが通常の場合です。これを行うことを選択した場合、XML出力(-oX)を使用することをお勧めします。これは、すでにパーサーが構築されている分析ツールがたくさんあるためです。

0

scanreport.shというスクリプトが非常に便利です。それは必要ではありませんが、あなたは示唆したようにawkを使うことができますが、興味があると思っていました。

サービスやポート(ハイライト付き)によってnmapの結果をうまく出力することができます。それはそれについてのグーグルが、ここ1つのrefにリンク上のものの

nmap -sS 192.168.1.22 -oG /directory/of/choice/results.txt 

grep -v ^# results.txt > report.txt 

./scanreport.sh -f report.txt 

Host: 192.168.1.22() 
22 open tcp ssh OpenSSH 5.3p1 Debian 3ubuntu4 (protocol 2.0) 
80 open tcp http Apache httpd 2.2.14 ((Ubuntu)) 

./scanreport.sh -f report.txt -p 80 

Host: 192.168.1.22() 
80 open tcp http Apache httpd 2.2.14 ((Ubuntu)) 

./scanreport.sh -f report.txt -s ssh 

Host: 192.168.1.22() 
22 open tcp ssh OpenSSH 5.3p1 Debian 3ubuntu4 (protocol 2.0) 

grep -v ^# nmapoutput.txt > report.txt

からきちんと迅速たっぷり後nmapの(-Og)からのgrep可能な出力を使用しています。

./scanreport.sh