linux 追踪一个ip,[转载]【网管必备技巧:如何跟踪IP地址】

作为网管员,在我们解决Windows

操作系统的DHCP故障时,有时要找出某个地址范围内有哪些地址没有被使用。本人以前介绍过一种方法:打开命令提示窗口,在For…in…Do循环中调用ping命令。

例如,为了找出在地址范围192.168.1.1 到 192.168.1.100有哪些地址没有被使用,可以使用这个命令:For

/L %f in (1,1,100) Do Ping.exe -n 2 192.168.1.%f

该命令会报告指定范围内的所有IP地址,不管是在用的还是未用的,用户都不得不在认证系统命令行窗口中翻看大量的内容。其实,我们完全可以避免这些麻烦,只需建立一个批处理文件,要求它只返回那些未用的IP地址,然后再将命令的

结果输入到一个文本文件中。Windows系统如何跟踪IP地址,下面介绍方法:

打开记事本,在窗口中输入如下的命令:

@Echo off

date /t > IPList.txt

time /t >> IPList.txt

echo =========== >> IPList.txt

For /L %%f in (1,1,100) Do Ping.exe -n 2 192.168.1.%%f

Find

"Request timed out." && echo 192.168.1.%%f Timed Out

>>

IPList.txt && echo off

cls

Echo Finished!

@Echo on

Notepad.exe IPList.txt

将此文件存为IPTracker.bat,关闭记事本程序。

需要注意的是,在这个批处理文件中,整个的For…In…Do命令由几个被“&&”连接起来的命令组成。该命令以“For”开始,以“Off”结尾,而且整个命令必须在一行上。当然,如果用户要使用此方法的话,需要使用用户自己的IP

地址来替换示例中的IP地址。

以后,如果用户要解决DHCP问题,可以在浏览器窗口中定位并双击IPTracker.bat文件,然后启动一个IP地址跟踪工具,这个批处理只查找那些未用的IP地址,并将结果存到记事本文件中。(在此例中,这个保存的批处理文件成为一

个IP地址跟踪工具,它可以一次创建,反复使用。

来源:互联网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A: 在Qt中设置window系统的IP地址、网关、子网掩码可以通过以下代码实现: ```cpp #include <QtNetwork/QNetworkInterface> #include <QtNetwork/QNetworkAddressEntry> #include <QtNetwork/QHostAddress> // 获取当前系统的网络接口列表 QList<QNetworkInterface> interfaceList = QNetworkInterface::allInterfaces(); // 循环遍历接口列表,找到目标接口 QString targetInterfaceName = "本地连接"; foreach (QNetworkInterface networkInterface, interfaceList) { QString interfaceName = networkInterface.humanReadableName(); if (interfaceName == targetInterfaceName) { // 获取目标接口的IP地址、子网掩码、网关 QList<QNetworkAddressEntry> addressEntryList = networkInterface.addressEntries(); QNetworkAddressEntry addressEntry = addressEntryList.at(0); QHostAddress ipAddress = addressEntry.ip(); QHostAddress netmask = addressEntry.netmask(); QHostAddress gateway = networkInterface.addressEntries().at(1).ip(); // 设置IP地址、子网掩码、网关 QProcess process; QStringList args; args << "interface" << "ip" << "set" << "address" << interfaceName << ipAddress.toString() << "store=persistent"; process.start("netsh", args, QIODevice::ReadWrite); process.waitForFinished(-1); args.clear(); args << "interface" << "ip" << "set" << "subinterface" << interfaceName << "mtu=9000" << "store=persistent"; process.start("netsh", args, QIODevice::ReadWrite); process.waitForFinished(-1); args.clear(); args << "interface" << "ip" << "set" << "address" << interfaceName << "mask" << netmask.toString() << "gateway=" << gateway.toString() << "gwmetric=1" << "store=persistent"; process.start("netsh", args, QIODevice::ReadWrite); process.waitForFinished(-1); break; } } ``` 上述代码首先使用`QNetworkInterface::allInterfaces()`获取当前系统的网络接口列表。然后循环遍历接口列表,找到目标接口,这里以`本地连接`为例。接着,获取目标接口的IP地址、子网掩码、网关,并使用`QProcess`执行`netsh`命令,设置IP地址、子网掩码、网关。注意,由于执行命令需要一定的时间,因此使用`process.waitForFinished(-1)`等待命令执行完毕。最后,根据需要设置`mtu`等其它参数即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值