-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Answer ARP on behalf of another device #18
Comments
I would recommend a different name for a tool which replies ARP requests for foreign IP addresses. Offtopic: Do you have Windows clients? I would like to know how you prevent unnecessary Server wake-ups, because even if using network links instead of mounted network folders, explorer does try to resolve recently used files and folders even if you don't click on them. I use lots of workarounds to remove my server from recent files. I didn't find any registry setting to turn off SMB connects if nobody clicks on these files or folders. |
This could be added but may also be considered feature creep, it's best to keep this separate because the tool was designed with only one job in mind. I like the notion of being able to avoid issues like that but maybe I should add an option to fire an additional hook (like with most linux package managers) in order to handle a situation like that. That way you're gonna be way more flexible in terms of what you are able to do without necessarily adding too much complexity to this piece of software. I could make it call a simple call where it executes a script like so: How does that sound? |
I'm interested to read the reason for the request, maybe both of us are missing the point of this idea. |
@ignaciovidalfranco We still want to know your thoughts about this topic. How could an ARP request without response lead into measurable more power consumption? |
@ignaciovidalfranco feel free to check out https://github.com/danielpgross/friendly_neighbor, which I developed for this specific purpose. It's also IPv6-ready, with support for responding to NDP requests in addition to ARP. |
@danielpgross thanks for sharing your blog post. wake on unicast issues:
wake on arp issues:
I mean yes, your way was way cooler. 👍 Maybe you know which use cases require answering ARP on behalf of other devices: I interpret your blog post like this hack is only needed to get unicast working in order to trigger your complicated wake on unicast setup. But with wake on arp you don't need unicasts anymore, so no need to hack arp responses, right? Or does some mac software stop working because the first arp request wasn't answered? All applications I know are repeatedly sending requests as long enough until the target wakes up. Since I never heard from software which stops after the first network request it is confusing for me why anybody wants to simulate ARP responses. Since @ignaciovidalfranco doesn't want to spend timing share his use case we would like to hear from you, @danielpgross when it would be useful to have at least one use case for such a future :) Thank you |
@Falcosc it's a great question, thanks for the thoughtful writeup. I did look into using wake-on-arp as a solution before moving on to using wake-on-unicast instead. At that time, there was a dealbreaker for me: I didn’t like the idea that trying to resolve a device’s physical address should trigger the device to wake up. It felt more correct to me that only a network packet sent directly (unicast) to the device should wake it up. Aside from that theoretical preference, I also had a practical concern. I was seeing a lot of ARP chatter on my LAN in Wireshark captures, much of it seemingly unrelated to any specific application requests to my server. A lot of the ARP chatter instead seemed to be various devices performing automatic scanning/information gathering about what’s on the network. This seems to be what @ignaciovidalfranco was also experiencing. So my hesitation with wake-on-arp, in a nutshell, was that it would have too many undesired wakeups due to ARP chatter. Having said that, these were assumptions that I did not fully test. I didn’t end up trying out wake-on-arp because I managed to get wake-on-unicast working first. If I had tried wake-on-arp instead, maybe it would turn out that the ARP chatter is not actually an issue, and that there would not be undesired wakeups. As for your question about use cases: I think wake-on-arp and wake-on-unicast are both valid approaches to solving the wake-on-demand problem, with their own pros/cons. It seems like wake-on-unicast might be simpler to set up on LANs with lots of ARP chatter, while wake-on-arp might be simpler to set up on LANs with minimal ARP chatter but with unwanted unicast traffic to the server. And by the way, I think the problem of unwanted unicasts could be solved with friendly_neighbor just like it was cleverly solved in wake-on-arp: by setting up a blocklist of IP addresses for responses to ARP/NDP requests. If those blocked hosts can’t resolve the server's physical address, they also can’t send unicast packets. So I wouldn't consider this a fundamental flaw in the wake-on-unicast approach, but rather something that hasn’t been implemented yet 🙂 |
Could we conclude that nobody would mix wake on unicast with wake on arp? Because if wake on unicast is the only reason, then it would be confusing to add this feature in the wake on arp tool and should only be implemented outside the wake-on-arp project. |
Yes, I think that’s a fair conclusion. |
Yeah, those seem like two separate solutions for different needs. I haven't been active since I had quite a bit going on atm. |
I have the following use case:
Now I'm asking myself... since this software already monitors for ARP requests and issues WOL packets when certain rules are triggered, would it make sense to reply to the ARP request on behalf of another device that might be currently offline?
Timeline would be like this:
I guess this would upset a wide range of network devices, but I think it would be quite a hack. Also, I see this being weaponized...
I don't know. I just want to lower my electricity bill.
The text was updated successfully, but these errors were encountered: