如何仅从nmap结果中获取IP地址

时间:2019-01-30 21:30:32

标签: linux sed

我如何从arp剥离IP地址,结果行包括正确的MAC地址和找到机器的IP地址,例如 arp -a | grep "70:d1" > address_file.txt

这给了我以下输出: ? (10.0.0.9) at b8:27:eb:3:79:d1 on en0 ifscope [ethernet]

我尝试过各种sed咒语,但没有运气。最新尝试是:

cat address_file.txt | sed 's/(\d{1,3}\.){3}\d{1,3}//p' address_file.txt

我可能在程序上做错了事,但是我的耐心不高,因为这本来是提供一些自动化的快速又肮脏的技巧。我还要注意,我使用的是运行OS Mojave的Mac,因为我已经读到它们是BSD sed与其他版本sed之间的一些正则表达式差异。

我应该注意,我执行了子网的nmap操作,因为arp项可能已过时,并且计算机将不再处于联机状态或其他地址,但没有产生任何流量。

1 个答案:

答案 0 :(得分:0)

使用括号提取其中的内容:

arp -a | sed -e s'/.*(\(.*\)).*/\1/g'