Releases: BadPixel89/ldGO
v0.3a
ldGo
Cross platform command line link discovery tool written in GoLang, working in Windows 11 / Linux / Mac
Depends on nPcap / libPcap see below for install instructions
WINDOWS:
Download and install nPcap:
LINUX:
Install libpcap0.8 to run the tool:
sudo apt install libpcap0.8
Install libpcap-dev to build the project:
sudo apt install libpcap-dev
If you install libpcap0.8 and the program still fails, try installing the dev version as well.
MAC:
I didn't have any issues with Mac "Just Working" which apparently is the Mac way. However, network interfaces don't have descriptions, so you may need to find your network adapter name.
To do this, click the Apple icon top left, hold option to make "About" change to "System Information" and click it. Find "Network". You should see the names of your adapters on that page.
I need to look into a more platform agnostic way to easily identify NICs.
Basic Usage
Navigate a command line terminal to the folder containing the ldGo executable and run it.
Windows
.\ldgo-win.exe
Linux
./ldgo-linux
Mac
./ldgo-mac
For the rest of this document, 'ldgo' just refers to your version of the executable. I don't want to write every command three times. Rename it ldgo if you want it to match :)
To listen for packets, you will need the ID or name of the NIC, as returned by this program. The default behaviour is to prompt the user to run help and list the adapors.
The ID should always be the same unless you add/remove an adapter because the list is sorted alphabetically before being displayed.
To only list the adaptors Run:
ldgo -l
You should see an output similar to the below:
You can now run:
ldgo -i 4
To listen on the Ethernet interface shown.
You can also select an interface by specifying a substring of the Name or Description.
ldgo -n enp0
While this readme covers the basics, use the following command to list all available flags:
ldgo -h
Known issues Linux
On Linux the program always waits for the timer to complete, even if a packet is captured. You can ctrl+c to cancel the operation but this is not desired behaviour. I think this is related to how one-way channels are handled, no further packets are captured after the first.
Similar to Mac, the description field is blank, but Linux does show IPV4 addresses where I've tested it, so you can identify the connected NIC using that for now. Depending on your distro there's probably a bunch of ways to find this info.
Running in WSL, at least in my setup, I was unable to capture packets on any interface, I will test this further but it may be something unique to my environment. I also cannot resolve local network hostnames in this environment.
Known issues Mac
Above mentioned issue with network adapter names. From this release onward relegated to "known issue" until I look at it more.
ldGo-v0.1b
First built version released publicly
This is intended as a command line tool.
Changes:
- initial commit
- added icmp capture for troubleshooting
Known issue with Linux version:
- Does not seem to capture packets running under WSL, does work on a native linux install
- Always waits out the timer, even when a packet is captured, can be safely quit with ctrl+c once a packet is displayed.
REQUIRES NPCAP on Windows or LIBPCAP on Linux
Windows
nPcap: https://npcap.com/#download
Linux:
sudo apt install libpcap0.8
If this does not allow you to run, you may need to install libpcap-dev using
sudo apt install libpcap-dev
Known Issues:
- Windows version coming soon - windows is the primary target I just didn't want to reboot to build