在bash中检测网络设备的名称?

我正在尝试通过bash在一台计算机上输出活动网络设备名称的黑客攻击。 我是为了工作而做的。 我该怎么做呢? 我不想只是明白地使用“wlan0”或“eth0”或任何通用废话,因为某些操作系统使用不同的名称(例如像pfSense)。

这取决于你所说的’活动’ – 如果你只想查看系统上所有网络设备的名称,你可以查看/ sys / class / net目录的内容,例如

$ ls /sys/class/net eth0 lo wlan0 

要查看状态,可以在任何link对象上使用ip命令 – 您可以解析输出以获取所需的特定字段,例如仅查看设备名称和状态

 $ ip -o link show | awk '{print $2,$9}' lo: UNKNOWN eth0: DOWN wlan0: UP 

如果您正在运行Ubuntu的现代桌面版本(具有由网络管理器服务管理的接口),那么您应该能够使用nmcli获得类似的设备状态列表

 $ nmcli dev status DEVICE TYPE STATE wlan0 802-11-wireless connected eth0 802-3-ethernet unavailable 

或者,以一种在脚本中更容易使用的方式将输出限制为特定字段

 $ nmcli --terse --fields DEVICE,STATE dev status wlan0:connected eth0:unavailable 

如果您使用网络管理器,您还可以通过DBUS访问设备和连接属性 – 请参阅Dbus教程 – 网络管理器的乐趣

您可以使用ifconfig来检测活动的网络设备,使用ifconfig -s稍微减小输出。 ifconfig打印活动接口,使用-a可以打印系统识别为网络接口的所有接口。

或者使用ip addr

我可能不会直接知道答案,但我会给你一个网络命令列表,也许从那里你可以尝试将它与你需要做的事情联系起来。

要查看网络,并在单台计算机上输出活动网络设备的名称,可以尝试以下命令:

 ifconfig 

此命令允许我们检测活动的网络设备。 您还可以使用ifconfig -s命令来减少输出。 您可以使用此命令配置特定接口

 ip addr 

此命令允许我们查看网络网络信息。

 tcpdump 

此命令是网络嗅探器。 它的作用是从网络接口捕获数据包并为您解释它们。

如果您收到权限被拒绝的消息,只需: **gksu yourcommand** ,以获取root权限并强制执行命令。

 findsmb 

您可以使用此命令列出有关响应SMB名称查询的计算机的信息。

资料来源: http : //www.gymforgeeks.com/topic/358445-/