有时候需要根据一台主机的ip地址获取其mac地址,这是可以实现的,但这个ip地址必须是同一个以太网内的ip地址。
在perl的模块中Net::ARP可以实现这个功能。但是它的arp_lookup函数只能从本机的arp缓存表中取“被查询ip”的mac,如果恰恰有,能取到,没问题。但是如果arp缓存没有“被查询ip”,那么会得到“unknow”或者“00:00:00:00:00:00”。
解决方法是先ping一下“被查询ip”,然后用arp_lookup函数去arp缓存取其mac。
下面有个例子,是perl写的cgi程序。
#!/usr/bin/perl
use Net::ARP;
print "Content-type:text/html;charset=UTF-8\n\n";
read STDIN, my $buffer, $ENV{'CONTENT_LENGTH'};
my ($key,$ip)=split /=/,$buffer; # 得到了ip地址
`ping $ip -c 1`; # 系统调用,ping 被查询ip 1 次
my $mac=Net::ARP::arp_lookup("eth0",$ip); # 从arp缓存中取出mac
print $mac;
print <<END
<form action="$ENV{'SCRIPT_NAME'}" method="post">
<input name="ip" />
<input type="submit" value="Submit">
</from>
END
;
分享到:
相关推荐
- 脚本提供按MAC地址、IP地址和主机名查询的功能,还可以根据指定的时间范围进行查询,这对故障排查和资源管理非常有用。 通过以上方法,你可以有效地管理和监控Linux下的DHCP服务器,确保网络设备能够正常获取IP...
ARP(Address Resolution Protocol)表是网络设备(如交换机)存储IP地址与其对应的MAC地址映射的关键数据结构。在大型网络环境中,了解ARP表的状态对于网络故障排查、安全监控以及性能优化至关重要。这个Perl脚本...
`arp`(地址解析协议)用于获取物理(MAC)地址与IP地址的对应关系;`nmap`是一个强大的网络扫描工具,可以发现网络上的设备、端口和服务。 3. **ARP缓存**:局域网中的设备通常会存储一个ARP缓存,记录最近与之...
通过使用这款软件,用户能够快速有效地获取局域网内部的IP地址信息,同时还能得到对应设备的网卡MAC地址、计算机名以及是否隶属于特定域等关键数据。 在局域网环境中,IP扫描是一项基础但重要的任务,它有助于网络...
通常,这样的脚本会使用编程语言如Python或Perl编写,通过SSH(Secure Shell)协议与交换机通信,读取并解析接口状态信息,获取端口上的MAC地址,然后根据预定义的规则进行IP和MAC的绑定。 SecureCRT是一款强大的...
5. `pcre.dll`:PCRE(Perl Compatible Regular Expressions)库,用于支持正则表达式匹配,可能在IP扫描过程中用于解析和过滤IP地址或设备信息。 综合以上信息,我们可以推断出“高级IP扫描工具”是一个使用Qt框架...
1. **查询网络接口**:模块提供了接口来获取系统上所有活动或特定网络接口的信息,如接口名称、MAC地址、IP地址、状态(是否启用)等。 2. **配置接口**:允许开发者动态更改接口的配置,如添加、删除或修改IP地址...
- **动态获取IP**:在桥接模式下,虚拟机可以通过DHCP服务自动获取IP地址,这可以通过修改配置文件`/etc/sysconfig/network-scripts/ifcfg-eth0`(或可能是`ifcfg-eno16777736`)来实现,确保`BOOTPROTO`字段设为`...
- **接口标识机制**:通过IP地址、设备描述、SNMP接口编号或MAC地址等多种方式识别监控目标。 - **日志管理**:使用独特数据合并算法,确保日志文件大小固定,避免无限增长。 - **自动配置**:内置配置工具简化设置...
获取MAC地址对应的IP地址 若想查询MAC地址对应的IP地址,可以查看`/proc/net/arp`文件,并使用`awk`进行处理: ```bash cat /proc/net/arp | awk '{print $1 " " $4}' | sort -t. -n +3 +4 > /etc/ethers ``` 此...
通过这个模块,你可以获取接口的详细信息,如接口名称、IP地址、子网掩码、广播地址等,甚至可以进行基本的配置更改,如启用或禁用接口,添加或删除IP地址。 1. **功能特性** - **接口查询**:Net::Interface能列...
Sigar可以获取网络接口的状态,如带宽使用、IP地址、MAC地址等: ```java import org.hyperic.sigar.NetInterfaceStat; import org.hyperic.sigar.Sigar; import org.hyperic.sigar.NetInterfaceConfig; public ...
5. **接口标识**:MRTG可以通过IP地址、设备描述、SNMP接口编号以及Mac地址识别被监控的设备接口。 6. **日志管理**:采用独特的数据合并算法,保持日志文件的固定大小,避免日志膨胀。 7. **自动配置**:MRTG提供...
- **主机静态地址分配**:可以通过 `host` 关键词来定义MAC地址与IP地址的绑定关系,从而实现静态地址分配。 **2. DHCP租约文件** - **位置**:`/var/lib/dhcp/dhcpd.leases` - **作用**:记录DHCP服务分配出去的...
ARP是局域网中设备之间映射IP地址到MAC地址的关键协议。通过发送伪造的ARP响应,Netpoison可以篡改网络中的ARP缓存,使得数据包不是发送到原本的目标地址,而是被转发到攻击者的机器。 当Netpoison欺骗路由器将流量...
9. **安全性和反作弊机制**:理解游戏的反作弊策略,如IP封锁、MAC地址检测和游戏内的脚本检测系统。学习如何编写不触发这些机制的脚本。 10. **社区支持**:OpenKore有一个活跃的开发者和用户社区,你可以从中获取...
3. **主机识别**:ntop 可以识别网络上的主机,包括 IP 地址、MAC 地址、主机名等信息,以及它们的活动状态和连接数。 4. **实时警报**:当网络流量异常或特定条件满足时,ntop 可以发送警报,提醒管理员注意潜在的...
- 示例:`ip.addr == 129.111.0.0/16`,表示筛选IP地址位于129.111.*.*网段内的数据包。 4. **位操作**:如`bitwise_and`等,用于进行位级别的运算。 - 示例:`tcp.flags & 0x02`,表示筛选TCP标志位中SYN标志...