ด้วย nmap และ awk แสดงพอร์ต http ใด ๆ กับ ip ของโฮสต์


1

ฉันสแกนประมาณ 50 โฮสต์บนเครือข่ายด้วยคำสั่งนี้:

nmap -sV -iL sweep_ips.txt -oG result.txt  

ex: ...
Host: 192.168.x.x ()    Ports: 8000/open/tcp//http//Apache httpd 2.2.3 ((CentOS))/  Ignored State: filtered (999)
...

ฉันแสดง ips ของผู้ที่พบพอร์ต http:

grep http result.txt | awk '/http/{print $2}'

จนถึงตอนนี้ดีมาก ยกเว้นว่าพอร์ต http นั้นไม่ใช่ 80 หรือ 443 เสมอฉันมีบางอย่างที่แปลกเช่น 10000 และเช่นนั้น ฉันต้องการ awk เพื่อค้นหาฟิลด์พอร์ตเฉพาะที่พบ "http" จากนั้นแสดงส่วนหนึ่งหรือทั้งหมดของฟิลด์นั้น เป็นไปได้ไหม

สิ่งที่ต้องการ:

192.168.x.x 8000

จะเพียงพอ

ความคิดใด ๆ

linux  nmap 

นี่เป็นawkคำถามที่แท้จริงไม่ใช่เป็น nmap หรือคำถามความมั่นคงสารสนเทศ
Schroeder

คำตอบ:


0
perl -lane 'print "$F[1] $1" if m{([0-9]*)/open[^,]*/http}'

พยายามทำสิ่งนี้ด้วย awk แต่ไม่ได้ดักจับ แต่-aสวิตช์ของ Perl จะแบ่งบรรทัดเหมือน awk ด้วยการเข้าถึงสตริงย่อยผ่าน%Fแฮช วิธีแก้ปัญหาที่ดีกว่าคือบัญชีสำหรับบริการ "http" หลายรายการในโฮสต์เดียว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.