Repository navigation
Phase 3: static IP finder, Reach it, subnet scan and device discovery - #7
Merged
Merged
Conversation
Finds devices on the cable that didn't take a DHCP lease, including ones with a static IP on another subnet, from broadcasts (raw socket at IP level), Windows' ARP table, mDNS/DNS-SD, SSDP/UPnP and documented vendor protocols (PJLink, Art-Net, SAP, AMX, Q-SYS, Shure). With Npcap installed it also watches ARP and shows the switch port from LLDP/CDP. Reach it and the subnet scan add temporary addresses through the adapter backup session, so Stop, exit and a crash remove them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KZvcgLYKFKnCYgDw2Bxw5e
cookingwithsimon
marked this pull request as ready for review
October 16, 2026 05:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes for the user
Before: a device with a static IP on another subnet never showed up. The status said "may have a static IP", and the tech had to guess the address and set the laptop by hand.
After:
docs/vendor-discovery.md.How
Discovery/:DiscoveryTablemerges sightings by MAC, falling back to IP.SubnetPlannerchooses the subnets to scan and the helper addresses: .249 downwards, skipping documented factory addresses and subnets used by another adapter.SubnetHelperruns Reach and the sweep against fake-able interfaces.StatusChainnames a found static device in step 5.DiscoveryServiceruns for the session. It uses a raw socket inSIO_RCVALLIP-level mode (not promiscuous, so a busy video stream can't flood it), mDNS/SSDP/vendor sockets joined on the adapter, Windows' ARP table, andSendARPfor the sweep.NpcapCaptureloadswpcap.dllat run time with a driver-side filter for ARP, LLDP and CDP only.AdapterSessionManager, which gainsRemoveTemporaryAddress, so Stop, exit and a crash all remove them.Testing
SendARPagainst the runner's gateway, the Npcap check, a discovery socket plus raw sniffer receiving a PJLink reply, and the discovery firewall rule.docs/hardware-test-phase3.md.🤖 Generated with Claude Code
https://claude.ai/code/session_01KZvcgLYKFKnCYgDw2Bxw5e
Generated by Claude Code