Awk 使用nmap在一行中获取头名称和ip

Awk 使用nmap在一行中获取头名称和ip,awk,nmap,Awk,Nmap,H 我试图使用Nmap在一行中获取报头名称和ip地址,但我没有找到一个好方法 我试过:(以我的路由器为例): 我正在使用SSH nmap -sS -n -p80 192.168.2.1 --script=http-headers -T5 --min-rate 1000 --max-retries 0 输出: Nmap scan report for 192.168.2.1 Host is up (0.12s latency). PORT STATE SERVICE 80/tcp open

H

我试图使用Nmap在一行中获取报头名称和ip地址,但我没有找到一个好方法 我试过:(以我的路由器为例):

我正在使用SSH

nmap -sS -n -p80 192.168.2.1 --script=http-headers -T5 --min-rate 1000 --max-retries 0
输出:

Nmap scan report for 192.168.2.1
Host is up (0.12s latency).
PORT   STATE SERVICE
80/tcp open  http
| http-headers:
|   WWW-Authenticate: Basic realm="TD-W8901G"
|   Content-Type: text/html
|   Transfer-Encoding: chunked
|   Server: RomPager/4.07 UPnP/1.0
|   Connection: close
|   EXT:
|
|_  (Request type: GET)
我想要的输出是:

192.168.2.1 => TD-W8901G or 
192.18.2.1:TD-W8901G

awk

这样看待:

nmap ... | awk '/^Nmap/{ip=$NF} /realm=/{gsub(/"/,"",$NF);gsub(/.*=/,"",$NF);print ip,$NF;exit}'

那就是说。。。“如果该行以“Nmap”开头,请将最后一个字段保存在变量
ip
中。如果该行包含“realm=”,请删除所有双引号,并将所有内容去掉等号。打印
ip
和最后一个剩余字段,然后退出。”

不带代码,在这一点上,它看起来不像是一个编程问题。我更新了我的问题。请检查。请再次更新您的问题,这样每个人都清楚您试图实现的目标。我只能假设您正试图基于这个问题的标记用PHP解析NMAP结果?这正是我想要的,非常感谢