USB to USB Networking using USBNET Cable
First and foremost this has nothing to do with USB On-the-Go which some devices support and has nothing to do with Pi Zero "Gadget" Mode....
USBNET Cables have a Chipset to enable negotiation of USB Host / Slave Mode so there is no danger of blowing the USB Port Chipsets.
It has been suggested Belkin & Plugable both use a Prolific PL-25A1 Chipset:
The following is a non exhaustive list of various which supposedly use the PL-25A1, in April 2019 found a F5U258 Host to Host cable
for £5.00 on ebay...
https://www.amazon.co.uk/Plugable-Trans ... B005OTPVMY
http://www.amazon.com/Belkin-Transfer-C ... B0093HCIQ0
https://www.amazon.com/Plugable-Transfe ... B005OTPVMY
https://www.amazon.com/Belkin-Transfer- ... B000JJPZW0
These type of Cables are quite often sold as "Microsoft USB Easy Transfer Cables" and cost around £20 / $25 but are not very popular so searching etailers to achieve best price is recommended, though be aware not all will work, I had a Un-branded (Prolific PL-2501 Chipset) Cable which states "Bridge Cable" and is not recognized as a Network Interface ln Linux
Linux USBNET http://www.linux-usb.org/usbnet web page is out-of-date but has some good information.
My x86 PC running Xubuntu 18.04LTS supports USBNET Networking so was able to enable "internet connection sharing" ( please note I do not have a Windows Machine )....
.....my Pi 2B automatically recognized the connection under Raspbian Buster.
Previously also had a RPi Zero as well as running Raspbian Jessie, Wheezy and Stretch, the current Raspbian Buster on my RPi 2B shows similar results to below
Updated July 2019