我需要以编程方式获取LAN内所有设备的IP地址。我打算通过使用c
通过system()
发出以下shell命令来实现这一点。
for ip in $(perl -e '$,="\n"; print 1 .. 254;') ; do ping -t 1 -c 1 192.168.1.$ip>/dev/null; [ $? -eq 0 ] && echo "192.168.1.$ip UP" || : ; done
但是它并不完全有效。因为首先它不会在终端上打印出结果,所以应该直接在终端上作为shell命令运行它,而且我还想获得将结果打印在终端上的程序,以便我可以使用它。
我在这里呆了相当长的一段时间,无法正常工作。如果您的专家可以提供代码段示例,任何参考或任何方法来解决此问题,我将不胜感激。
我需要以编程方式获取LAN内所有设备的IP地址。我打算通过使用system()通过c发出以下shell命令来实现这一点。 ...
您正在尝试做的是在本地LAN上进行端口扫描的一种方法。要做到这一点非常困难,因为涉及许多不同的潜在错误条件。它也可能非常慢,因此非常需要使用并行性。
编写一个以ip作为参数的shell脚本会更容易。然后,从系统调用中,您可以简单地运行shell脚本。