标签: arp

使用libnet发送ARP请求,但获得ARP回复后arp缓存不会更新

我需要在本地网络中查找MAC地址,而我正在使用Linux.我所做的是发送一个带有libnet的ARP请求,但在发送3个请求后,缓存仍然不会更新.我使用wireshark捕获数据包.来自wireshark,在我的每个ARP请求之后,我确实获得了3次ARP重放.有谁知道ARP缓存怎么不更新?

c linux networking libnet arp

5
推荐指数
1
解决办法
1897
查看次数

通过IPv6获取远程MAC地址

是否可以通过IPv6(没有WMI)从同一网络中的另一台PC获取MAC?使用IPv4很容易(ARP).

IPv6使用"邻居发现协议"(NDP)来获取MAC地址..Net中有没有这方面的方法?

c# network-programming ipv6 arp

5
推荐指数
1
解决办法
3263
查看次数

在Linux上使用C++解析IP地址的MAC地址

我需要生成一个包含目标MAC地址的以太网头,(因为libnfnetlink在预先路由发生之前只给出了IP头),外出接口号也是已知的,因此可以在正确的网络中进行查找.

从IP地址解析MAC地址的库/功能是什么?

linux arp

5
推荐指数
1
解决办法
2万
查看次数

有没有更好的方法从arp表获取mac地址?

我想通过使用ip地址从arp表中获取mac地址.目前我正在使用此命令

arp -a $ipAddress | awk '{print $4}'
Run Code Online (Sandbox Code Playgroud)

此命令打印出我想要的内容.但我对此并不满意,我想知道是否有任何内置方式或更稳定的方法来做到这一点.

linux algorithm bash awk arp

5
推荐指数
1
解决办法
2万
查看次数

ARP超时.为什么固定周期?

这个人多年来一直困扰着我.

基本的问题:是有一些原因ARP 具有与在ARP缓存条目固定超时来实现?

我在Real Time中做了很多工作.如今,我们在专用的UDP/IP链路上进行大部分的系统间通信.这在大多数情况下可以在实时中可靠地工作,但是对于一个nit:ARP输入超时.

典型实现ARP的方式如下:

  • 当客户端要求将IP数据包发送到具有未知MAC地址的IP地址时,堆栈不会发送该IP数据包,而是发出ARP请求.如果上层(TCP)确实重新发送,则没有问题.但由于我们使用UDP,原始邮件将丢失.在启动时,这是可以的,但在操作过程中,这是一件坏事 ™.
  • (动态)ARP表条目会定期从ARP表中删除,即使我们只是在几毫秒之前从该系统获得了一个数据包.这意味着Bad Thing™定期发生在我们的系统中.

显而易见的解决方案(我们使用宗教)是使所有ARP条目保持静态.然而,这是一个皇家PITA(特别是在RTOS上,找到一个接口的MAC地址并不总是一些简单的GUI点击).

当我们编写自己的IP堆栈时,我通过永远(永远)超时ARP表条目解决了这个问题.这有明显的缺点.一个更健壮且完全合理的解决方案可能是每当看到来自相同MAC/IP组合的数据包时刷新进入超时.这样一个条目只有在这段时间内没有与堆栈通信时才会超时.

但现在我们正在使用我们供应商的IP堆栈,我们又回到了愚蠢的ARP超时.我们对这家供应商有足够的影响力,我或许可以让他们使用不那么不方便的方案.然而,这种脑死亡超时算法的普遍性使我相信它可能是实现的必要部分.

这就是问题所在.这种行为是否需要某种程度?

udp real-time arp

5
推荐指数
1
解决办法
7627
查看次数

Arp欺骗不适用于iPhone,iPad或Mac

我有一台运行iOS 7.0.4的iPhone 4和iPad 3以及运行OS 10.9.1的MacBook Pro Retina.我想写一个嗅探器程序,并一直在尝试ARP欺骗这些设备,但他们的流量似乎没有出现在Wireshark中.我曾尝试同时使用arpspoof,并ettercap为这个欺骗,运行的每个来自我的Mac和完全更新卡莉Linux机器.我确信在这两台机器上都启用了ip转发,并且确定两者都完全能够进行这种欺骗,因为它在同一网络上定位Windows机器时可以正常工作.Apple设备是否只能免受ARP攻击?我有什么办法可以篡夺这种免疫力吗?

iphone macos arp ios

5
推荐指数
0
解决办法
2695
查看次数

为什么ARP请求一个非本地地址?

我有一个带有2个NIC的Linux虚拟服务器。

eth0 <IP1>
eth1 <IP2>
Run Code Online (Sandbox Code Playgroud)

arp_filter打开并rp_filter设置为2(宽松模式)。
策略路由配置如下:

table T1
default via <GW> dev eth0 src <IP1>
127.0.0.0/8 dev lo
<LAN> dev eth0 src <IP1>

table T2
default via <GW> dev eth1 src <IP2>
127.0.0.0/8 dev lo
<LAN> dev eth1 src <IP2>

ip rule add from <IP1> table T1
ip rule add from <IP2> table T2
Run Code Online (Sandbox Code Playgroud)

在那之后,我可以ping二者结合的floatingips <IP1><IP2>来自外部。但是没有用ping -I eth1 <some_domain>tcpdump显示了当我从eth1外部ping时,Linux直接询问MAC外部地址,这是不正确的,因为它们不是相同的LAN

这是tcpdump …

linux arp tcp-ip

5
推荐指数
1
解决办法
1224
查看次数

从 Windows 手动发送 ARP 请求

我正在训练自己进行网络扫描,并且专注于如何识别网络上的嗅探器。在网上搜索,我发现一种可能的方法是ARP方法:我必须向可疑的无广播IP发送ARP请求,以检查它是否处于混杂模式。

我的疑问是:如果我的电脑是Windows 7机器,有没有办法手动发送ARP响应?可能来自命令行?

command-line sniffer arp

5
推荐指数
1
解决办法
3万
查看次数

在操作系统终端中运行“arp -a”命令时“en0 ifscope [ethernet]”是什么意思?

我运行“arp -a”并收到以下消息:

apples-MacBook-Air-2:~ apple$ arp -a
hitronhub.home (192.168.0.1) at ac:20:2e:73:d4:42 on en0 ifscope [ethernet]
? (192.168.0.254) at 0:55:7b:b5:7d:f7 on en0 ifscope [ethernet]
? (192.168.0.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]
Run Code Online (Sandbox Code Playgroud)

我想知道“en0”和“ifscope [ethernet]”字段是什么意思?

linux macos networking arp

5
推荐指数
0
解决办法
6505
查看次数

路由器使用ARP表吗?

我想了一会儿这个问题,似乎没有找到答案。假设两个路由器相互连接,它们的 ARP 表和路由表都是空的。现在,需要明确的是,主机使用 ARP 表来查找路由器的 MAC 地址,但是路由器是否使用 ARP 表来相互通信?因为他们有一个路由表,告诉他们将数据包发送到的正确接口(Eth0、Eth1...)。所以我认为他们不需要知道另一个路由器的 MAC 地址。这是正确的吗?谢谢。

routes arp

5
推荐指数
1
解决办法
7850
查看次数

标签 统计

arp ×10

linux ×5

macos ×2

networking ×2

algorithm ×1

awk ×1

bash ×1

c ×1

c# ×1

command-line ×1

ios ×1

iphone ×1

ipv6 ×1

libnet ×1

network-programming ×1

real-time ×1

routes ×1

sniffer ×1

tcp-ip ×1

udp ×1