由于 MAC 地址只能在本地网段中使用,因此我们使用 IP 地址通过路由器与其他网段进行通信。同时,对于本地目标,ARP用于将 IP 转换为 MAC 地址,然后在会话中使用 MAC 地址。
这让我想知道为什么我们在本地网络上使用 IP 地址。假设所有系统都在同一个子网中,那么 IP 地址似乎是多余的,因为系统只是真正使用 MAC 地址来路由彼此之间的通信。
如果计算机不需要在本地网段外进行通信,它们真的可以完全没有 IP 地址吗?他们为什么不呢?
我有一个用于管理设备的无线WAN网络。我们最近遇到了一个 IP 冲突,我们花了 10 多个月才找到(我们甚至不知道有冲突,直到我们 ping 一个设备并拔掉插头,它一直在 ping)。是否有为 Windows 制作的实用程序可以扫描整个网络的 arp 数据包,并确保网络上的所有节点都没有 IP 冲突?(我知道您可以 arp/ping/检查单个机器的 Windows)
我想知道我在子网 A 中是否有一台具有 IP 地址192.168.123.1的计算机,以及192.168.124.1在不同子网中具有 IP 地址的计算机。
两个网络都通过路由器连接。如果我现在想将一个包从计算机 A 发送到计算机 B,我将不得不使用 ARP 来获取它们的 MAC 地址以发送帧(假设 ARP 缓存为空)。
我现在的问题是:这个 ARP 请求会是什么样子,我可以想到两种可能的方法:
计算机 A,看到计算机 B 的 IP 地址在他自己的子网之外。它决定将数据包发送到他的默认网关(路由器)并发送带有路由器 IP 地址的 ARP 请求。接下来:路由器回复他的 mac 地址,并将帧发送到路由器,路由器将处理该帧。
计算机 A 是“愚蠢的”,它发送了一个带有 B 的 IP 地址的 ARP 请求。路由器足够聪明,并且看到 IP 地址在它的路由表中。并回复自己的MAC地址。接下来,计算机 A 将帧发送到路由器,认为它是计算机 B。路由器将数据包发送到计算机 B。
我看到第二种方法的缺点是,当您浏览 google 时,它会使用 Google 的 IP 地址执行 arp 请求。路由器会回复它自己的信息,因为它知道如何访问 Google。下次您浏览另一个网站时,您将不得不再次执行相同的操作,并使用该网站的 IP 发送 arp 请求。这将导致许多 arp 请求(每个网站一个)。并且 arp 缓存会变得非常大。
我真的不知道答案。我发现了两个 YouTube 视频——这个和这个——每个都告诉我不同的事情:
我希望有人可以帮助我。
目前,当我通常去上班时,我的用户 cron在计时器上启动Motion,然后在我通常回家时杀死它,这样我就可以看我的猫/窃贼/等:
0 9 * * * killall motion ; motion
30 18 * * * killall motion
Run Code Online (Sandbox Code Playgroud)
使用的配置文件是~/.motion/motion.conf并且具有daemon on.
但是,如果它能够检测到我何时真正在家并在这些时间禁用网络摄像头,并在其他时间启用它,那就更好了。我在想我的存在可以通过加入 LAN 的 Android 手机检测到。所以像
关于如何实施其中之一的任何更好的想法或建议?Tasker 易于使用,但成本为 6 美元,因此不依赖于它的解决方案对更广泛的受众有用。
我对 arp-scan 解决方案的第一次尝试效果不佳。它会创建多个实例motion 并且无法可靠地检测到手机,从而导致相机偶尔打开和关闭。 所以也许它应该更像是“每分钟检查一次手机是否存在。只有在 15 分钟内没有看到手机时才打开相机”。
好的,我写了一个 python 脚本,每分钟做一次 arp 扫描,它完美地检测到手机:
2012-11-27 18:29:10.551552 No
2012-11-27 18:30:22.295997 No
2012-11-27 18:31:34.077431 No
2012-11-27 18:32:45.804675 No
2012-11-27 18:33:57.545211 No …Run Code Online (Sandbox Code Playgroud) 标题说明了一切,但这里是长版本:
我正在尝试为我的家庭服务器设置一种方法,以便在客户端尝试访问它时使用 WakeOnLan 自动打开它。我的想法是路由器(OpenWRT 14.07,Barrier Breaker)监视我想唤醒使用的主机的任何连接尝试,iptables如果它注册了这样的事件,它会发送魔术包来唤醒主机。在 SF 上进行了大量尝试和帮助之后,我已经让 iptables 为桥接设备和本地网络工作(请参阅此处)。
不幸的是,我现在遇到的问题是,如果主机关闭,则不存在 ARP 条目,因此本地客户端在无法解析 IP 时不会发送任何数据包(如果我正确理解了问题)。对于从 Internet 访问的外部客户端,它可以工作。
如果我理解正确,解决方案应该是创建一个静态 ARP 条目,以便路由器响应任何请求,然后客户端将发送他们的数据包。在此之后,我尝试使用ip neigh add 192.168.1.20 lladdr 00:de:ad:be:ef:00 nud permanent dev br-lan并运行arp我看到服务器的条目,但它仍然不起作用。
我已经确认,当服务器打开或最近关闭(几分钟前)时,客户端确实发送数据包,这些数据包由iptables.
所以问题是:
1)我做错了什么?
2) 我如何实现静态/持久的 ARP 条目?
--- 回顾底部可能的解决方案 ---
首先,如果我写的东西毫无意义,我深表歉意。直到三天前,我对网络的了解才超出了 IP 地址的范围,其中很多内容对我来说仍然很陌生。
我设置了一个系统,可以使用 LAN/WAN 唤醒远程打开我的家庭计算机。我按照几个指南来启用它,一开始它似乎工作正常,只是在我的远程电脑关闭一段时间后,它不再工作了。
我明白这是由于 ARP 表刷新造成的,我认为我已经通过将远程 PC IP 地址映射到其路由器的 DHCP 配置中自己的 MAC 地址来解决这个问题。
让我简要说明一下我做了什么:
正如我上面所说,一切正常,直到远程电脑保持关闭状态一段时间。我认为步骤 3 可以修复 ARP 表刷新,但显然没有(我认为 DHCP 配置和 ARP 表是同一件事?)。
所以我的问题是,有没有办法可以绕过这个问题,并且即使在关闭一段时间后也能够远程打开我的电脑?
我的问题的第二部分是:我在这里读到我应该编辑路由器的 ARP 表,以在我的电脑 MAC 地址和 IP 之间建立静态映射,这样它就不会被刷新。接下来 3 周我都不在家,而且我不记得我的路由器可以编辑 ARP 表(不过我可能弄错了)。那么,有没有办法可以通过 SSH …
netdiscover在我的家庭网络上运行时,我似乎有一些奇怪的结果。从电缆调制解调器到我的扫描仪(跳过一些外围设备),这是基本布局:
电缆调制解调器连接到我们的路由器,它也用作 DHCP 服务器和主要 Wi-Fi AP。
从那里(再次跳过外围设备)连接到另一个路由器上的 LAN 端口,该端口已被剥夺其路由器角色(DHCP 等)并且仅充当辅助 Wi-Fi AP。
我的笔记本电脑连接到辅助 AP,运行 Windows 7 x64。
我正在
netdiscover运行 Backtrack Linux 的笔记本电脑上的虚拟机上运行。虚拟机通过 VirtualBox 适配器连接到我的网络,以“桥接”模式运行。
网络地址在 RFC 1918 地址空间的 10.0.0.0/8 范围内。
所以,我netdiscover在 Backtrack VM 上运行。大多数返回的地址与预期的差不多,除了两个。
IP At MAC Address Count Len MAC Vendor
-----------------------------------------------------------------------------
192.168.2.1 00:17:9a:8f:69:cf 01 060 D-Link Corporation
192.168.2.1 00:17:9a:8f:69:d0 01 060 D-Link Corporation
Run Code Online (Sandbox Code Playgroud)
我对这是什么有一个相当可靠的猜测 - 我们只为它的 VoIP 功能保持连接(硬线连接到路由器)的 D-Link VoIP 路由器。IP 地址看起来可能是设备的出厂默认地址(我将在下次进行故障排除)。
我现在正在挠头的是:为什么 192.168.2.1 的 D-Link 设备能够通过 10.xxx 网络接收和返回 ARP 数据包?
我知道在以太网 LAN 中,ARP 协议用于从 IP 地址获取 MAC 地址。如果无法使用 ARP,我的路由器如何获取外部网络上另一台路由器的 MAC 地址?
我正在学习arpspoofing。我使用我的 Ubuntu 机器作为中间人,我的虚拟机中的一个 Ubuntu 作为目标,我的默认网关(即10.7.1.2)作为目标网关。为了嗅探两台机器之间的流量,机器必须在同一个网络中。当我检查route -n我的 virtualbox 主机时,它显示它使用的网关地址10.0.2.2与我用于主机的网关地址不同。
是否可以将 virtualbox 带到我的网络并分配任何静态 IP,例如10.7.1.x?
我只是学习 Windows 10 中命令提示符的初学者。
出于好奇,我想问:
在 Windows 10 中,命令提示符从哪里读取或写入 ARP 缓存数据?意思是,ARP 缓存(ARP 表)中的数据在 Windows 10 中实际位于/存储在哪里?
如果它存储在硬盘驱动器上,那么它存储在哪个文件中?如果我删除了那个文件或者它损坏了,那么如果我arp -a在 cmd 中执行命令会发生什么?
arp ×10
networking ×6
ip ×2
mac-address ×2
automation ×1
backtrack ×1
cmd.exe ×1
cron ×1
dhcp ×1
motion ×1
netdiscover ×1
openwrt ×1
router ×1
virtualbox ×1
wake-on-lan ×1
windows-10 ×1