gow*_*nda 2 sharing networking lan smb
sudo arp-scan --interface=eth0 --localnet
Run Code Online (Sandbox Code Playgroud)
我知道上面的命令工作正常,但它输出所有内容,如 MAC 地址等。但我只需要找到 IP 地址。是否可以 ?
我会只使用grep:
$ sudo arp-scan --interface=eth0 --localnet | grep -oP '^[\d.]+'
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.10
192.168.0.23
192.168.0.72
192.168.27.1
192.168.27.14
192.168.27.30
Run Code Online (Sandbox Code Playgroud)
解释:
在-P讲述grep使用Perl兼容正则表达式,其中\d任意数量的匹配。的-o意思是“仅打印该行的匹配的部分”。我使用的正则表达式表示匹配位于行首 ( +) 的连续数字 ( \d) 或点 ( .)的最长字符串(这就是其含义^)。
我只是用awk,tail并head达到你想要的东西:
sudo arp-scan --interface=eth0 --localnet| awk '{print $1}'|tail -n +3|head -n -2
Run Code Online (Sandbox Code Playgroud)
这给出了输出
192.168.1.1
192.168.1.3
Run Code Online (Sandbox Code Playgroud)
因为我的局域网里只有这两个。
此处awk '{print $1}'打印位于第一列中的 IP 地址。
tail并head删除不必要的东西,如标题,只显示 IP 地址。
| 归档时间: |
|
| 查看次数: |
4649 次 |
| 最近记录: |