【发布时间】:2017-10-05 07:27:17
【问题描述】:
我正在编写一个小 Python 脚本(Python 2.7.13)来进行 ARP 扫描。 问题是我对Shell Scripting还不太了解...... 我在 Kali Linux 上运行,这是我目前使用的:
import subprocess
interface = "wlan0"
ip = subprocess.check_output("ifconfig " + interface + " | grep 'inet'| cut -d':' -f2", shell = True).strip()
通过这样做,我仍然将其作为 ip:
'inet 192.168.0.43 netmask 255.255.255.0 broadcast 192.168.0.255\n14c\n14c'
我需要在我的 ip 分配中添加什么才能将192.168.0.43 作为我的 ip 变量?
我已经在网上查过了,但我在 Linux 上找不到解决方案……
我只在 Mac OS X (Parse ifconfig to get only my IP address using Bash) 上找到了非常好的解决方案,但我希望这个代码首先在我的 Kali Linux 安装上运行,然后我可以稍后将它移植到 Mac OS X
我也已经尝试过使用这个答案(Finding local IP addresses using Python's stdlib),但我正在寻找一种方法来操纵 ifconfig 的结果,只需使用 cut 或 awk...
【问题讨论】:
-
@jordanm 谢谢,但这不是我想要的......但是按照其他帖子所说的,我只会得到'127.0.1.1'......
-
ip.split()[1] -
谢谢@t.m.adam !!这个简单的解决方案效果很好!我实际上只是在考虑使用 split(),但我认为使用 shell 脚本会有一个更简单的解决方案。但是您的回答确实可以完成工作!
-
不客气。您根本不需要使用 bash 命令,您可以在 python 中完成所有操作,我会发布答案,但我当时在 Windows 上。另外,我认为
ifconfig将替换为ip,您可能想要使用它