NetCat is a great and simple tool with many uses, but it has a number of limitations in being such a simple and generalised tool.
A tool that allows for some more specialised uses of sockets and connection testing is TTCP or “Test TCP”.
Later versions and ports of this program, such as the Windows one, NTttcp that I shall be posting on today allow for TCP, UDP as well as IPv6 socket connections.
Like NetCat, TTCP allows you to send network traffic to and from a host. It does not have all of the functionality of NetCat, but equally, NetCat does not have the reporting and benchmarking of TTCP.
The first stage of using NTttcp is to install it on both of the systems you are testing. It is available from Microsoft.
We see the install process in Figures 1, 2 and 3.
Fig 3: Select where the program will be installed
Fig 4: Confirm the install
Finally, confirm the install if the options are all OK and it will complete the installation.
Fig 6: And we are done…
Microsoft’s documentation states the following:
NTttcp is a multithreaded, asynchronous application that sends and receives data between two or more endpoints and reports the network performance for the duration of the transfer. It is essentially a Winsock-based port of the ttcp tool that measures networking performance in terms of bytes transferred per second and CPU cycles per byte. Because it can be difficult to diagnose a system’s overall performance without dividing the system into smaller subsystems, NTttcp allows users to narrow the focus of their testing and investigation to just the networking subsystem.
NTttcp measures a system’s networking performance for both Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) traffic. The application can be configured in many ways, including:
- Setting software affinity for threads to a specified processor index.
- Specifying asynchronous or synchronous data transfers.
- Specifying data verification at the application level for a predetermined pattern in the application buffers.
- Sending and receiving traffic from multiple Internet Protocol (IP) addresses with single command.
- Supporting IPv6 performance testing.
- Supporting UDP performance testing.
- Supporting time-driven testing.
And the transmit process in Fig 8.
Fig 8: Starting the sender process (and the options above
The default install directory (or for that matter any place you installed NTtcp) will have a detailed document on its use called TCP_Tool.docx.
After the process has run for some time, you will be able to see data on the connection (Fig 9).
This is useful for mapping ports, collecting bandwidth statistics, doing tests of performance under load and DDoS conditions as well as validating firewall changes.