Tools for experimenting with network communications written primarily for Windows in .NET.
See releases section of this GitHub project. For older builds, head to https://dl.bintray.com/tewarid/net-tools/.
To build all the tools, clone this repository, and initialize submodules
git clone https://github.com/tewarid/net-tools.git
cd net-tools
git submodule update --init --recursive
Then, open the solution file NeTools.sln
using Visual Studio 2017 and build.
To build from the command line, open Developer Command Prompt for VS 2017, change to the net-tools
directory, and run
nuget restore NetTools.sln
msbuild NeTools.sln
You may have to download nuget from nuget.org.
A solution file is available for building some of the tools for Linux or macOS using Mono.
Use the msbuild version supplied by Mono to build
msbuild NetTools.Mono.sln
A solution file is available to build some of the tools for Windows using .NET Core
dotnet build NetTools.NetCore.sln
You can also use Visual Studio 2019 Preview to build.
A minimal interactive AMQP 1.0 client based on the AMQPNetLite library.
Interactive client that may be used to open a Bluetooth serial socket, send, and receive data. It is built with 32feet.NET, a .NET library layered over Windows Bluetooth socket API.
Simulate a Bluetooth serial listener/server on Windows. It is built with 32feet.NET, a .NET library layered over Windows Bluetooth socket API.
Convert data or text to or from various formats such as Base64, and encoded HTML, XML, or URL.
Add exceptions to Windows Firewall using native COM library NetFwTypeLib
. With contributions from Bruno Silveira.
A wrapper around command line Git, that allows running multiple commands on several cloned repos at once. A command can reference all or part of the output of the previous command with {{OUT:start,length}}
where start
is zero-indexed. Several repos can be cloned from GitHub or GitLab at once. A customizable cheatsheet is available in cheatsheet.md. Any line starting with $ git
is assumed to be a git command and displayed in the tool.
Interactive HTTP(S) client built using System.Net.HttpWebRequest.
HTTP(S) server built using System.Net.HttpListener.
Interactive client that uses raw sockets to send/receive ICMP messages. Requires administrative privilege.
An interactive Kafka client based on the Confluent.Kafka library. The tool has been tested with cloudkarafka and Docker.
Interactive MQTT client based on the MQTTnet library.
Interactive client to add, view, and delete IP v4 routes on Windows. Requires PowerShell, which is available by default on Windows 7 and beyond. Requires administrative privilege.
Interactive client that may be used to open a serial port, send, and receive data.
An SMTP client.
An SMTP server based on the SmtpServer library that logs messages to a text box.
An elementary tool that sniffs IPv4 packets using raw sockets. Requires administrative privilege.
Interactive TCP/IP client that may be used to establish IPv4 TCP sessions, send, and receive data.
Interactive TCP/IP client that may be used as a rudimentary listener/server.
Interactive UDP/IP client that may be used to establish IPv4 UDP sockets, send, and receive datagrams.
Interactive WebSocket client that may be used to establish WebSocket sessions, send, and receive data. It is built with .NET's native implementation of WebSockets, and requires at least Windows 8.
Interactive WebSocket server based on either System.Net.HttpListener or a self-hosted WCF service. WCF service is configured through App.config
to run at port 8087, and in code to run at end point specified by user. Supports SSL. Requires at least Windows 8.
Interactive WebSocket client that may be used to establish WebSocket sessions, send, and receive data. It is built with WebSocketSharp and works on Windows 7, or better. An HTTP proxy may be specified so WebSocket sessions can be debugged using Fiddler.
Self-hosted service built with WebSocketSharp, and works on Windows 7, or better. Data can be sent to and received from WebSocket clients. Supports SSL.
- netstat
- tcpdump
- Sysinternals Suite
- TCP View
- WinDump
- Wireshark (recommend replacing WinPcap with npcap on Windows)