• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Network Tools

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,263 (4.29/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
This version has been superceded by Network Tools 2.


This app was inspired by Ping Tool. It implements all user suggestions found on that thread.

nettool.png

Shown: Trace Route (Advanced), Ping

This is a relatively advanced network tool. Simply select which you want to perform, enter a domain name or IP address, how many packets/hops to perform, and click start. Once it has started, changing any of the above settings will stop it.

In order to perform an infinite ping, enter -1 into Packets field. It will turn cyan to confirm an infinite run is selected. Fields that have an invalid value will turn pink.

You can scan multiple port numbers by placing a comma between them.

Requires .NET Framework 2.0 or newer.


Usage:
[table="head"]Action|Input Description|Example
Ping|A domain name or IP address.|example.com or 192.16.0.192
Trace Route|A domain name or IP address.|example.com or 192.16.0.192
Trace Route (Advanced)|A domain name or IP address.|example.com or 192.16.0.192
Port Scan|Port numbers delimited by commas and ranges with a hypen.|80,90,800-810
Remote Port Scan|IP or domain name followed by a colon, followed by the port numbers (same as Port Scan). Separate many domain/ip queries using a semicolon.|domain.com:80,90,800-810;ip:80,90,800-810
Intranet Scan|Blank, the IP address of your computer to use, the start and stop address of the last byte, or a combination of ip and range.|(empty) or 192.168.0.191 or 100-199 or 192.168.0.191:100-199.
Intranet Scan (Sorted)|Blank, the IP address of your computer to use, the start and stop address of the last byte, or a combination of ip and range.|(empty) or 192.168.0.191 or 100-199 or 192.168.0.191:100-199.
Intranet Scan (Advanced)|Blank, the IP address of your computer to use, the start and stop address of the last byte, or a combination of ip and range.|(empty) or 192.168.0.191 or 100-199 or 192.168.0.191:100-199.
DNS Record|A domain name.|example.com
DNS Resolve|A domain name or IP address.|example.com or 192.16.0.192
DNS Resolve (Advanced)|A domain name or IP address.|example.com or 192.16.0.192
Whois (Domain)|A domain name.|example.com
Whois (Name Server)|An IP address or domain name.|192.16.0.192 or example.com
Whois (Registrar)|A business name.|Network Solutions[/table]


Credits:
Global Whois (reference) by marschills
Whois Resolver (reference) by Mentalis.org
Dig.Net by Alphons van der Heijden
Ping, ICMP, and Trace Route (reference) by jscott


Version History:
1.0.0 - Used ping.exe and tracert.exe.
1.1.0 - Uses internal ICMP code for ping and trace route.
1.2.0 - Added DNS Resolve, DNS Resolve (Advanced) and Trace Route (Advanced). Changed the selection from radios to a combo box.
1.3.0 - Added DNS Record, Whois (Domain), Whois (Name Server), Whois (Registrar), and Port Scan. Also added a Stop button.
1.4.0 - Added Intranet Scan and Remote Port Scan. The application should be IPv6 capable now. Several other minor changes were made.
1.4.1 - Several minor fixes and improvements.
1.4.2 - Whois is more robust. Exception handling improved (not complete). Intranet Scan now only displays those that returned a name.
1.4.3 - Some code added to catch/prevent Intranet Scan errors.
1.4.4 - Changed the Intranet Scan code to not ping and get DNS info, just DNS info. Performance didn't change (DNS info has a long time out) although network chatter during a Intranet Scan should be greatly diminished.
1.4.5 - Made some changes to Remote Port Scan. It now attempts to establish a TCP connection with the port number. Remote Port Scan, therefore, won't work to test UDP connections. Also reenabled IPv6 on Intranet Scan. Unfortunately, an IPv6 scan will only detect other IPv6 computers on the intrenet.
1.4.6 - Added Clear Results button, it now displays the destination in both trace routes, and displays the version number in the title bar.
1.4.7 - Further improved the Intranet Scan. It is now approximately twice as fast as it was and gathers network devices regardless of whether or not they are named.
1.5.0 - Added Intranet Scan (Sorted). Tweeked a few settings in Trace Route (Advanced) and Intranet Scan.
1.5.1 - Several improvements made to both Trace Route actions. Universal timeout setting increased from 3 seconds to 5 seconds.
1.5.2 - Large chunks of Ping, TraceRoute, and Trace Route (Advanced) recoded. GUI reworked a bit.
1.5.3 - Intranet Scan and Intranet Scan (Sorted) now accepts "ip", "start-stop", and "ip:start-stop." Setting an IP allows you to scan one of the networks your computer is connected to (e.g. IPv4 or IPv6). Details in the table above. Also added Help -> Tech Power Up!
1.5.4 - Added WMI to Intranet Scans.
1.5.5 - Intranet Scan (Sorted) now shows the count of devices found before it outputs the sorted list. Cleaned up some code that would throw a NullReferenceException if conditions were right.
1.5.6 - Changed the appearance of Trace Route and Trace Route (Advanced) errors.
1.6.0 - Added tooltips and a guide under the Help menu.
1.6.1 - Intranet Scan and Intranet Scan (Advanced) now return OS Name if available.
1.7.0 - Added Intranet Scan (Advanced). Standardized the calculations for millisecond and seconds--they won't mess up if there was more than 999 milliseconds or 59 seconds. Seconds also shows milliseconds in decimal form.
 

Attachments

Last edited:
This app was inspired by Ping Tool. It implements all user suggestions found on that thread.

http://img.techpowerup.org/090925/nettools.png

This is a relatively advanced ping and trace route tool. Simply select which you want to perform, enter a domain name or IP address, how many packets/hops to perform, and click start. Once it has started, changing any of the above settings will stop it.

In order to perform an infinite ping, enter -1 into Packets field. It will turn cyan to confirm an infinite run is selected. Fields that have an invalid value will turn pink.

Requires .NET Framework 2.0 or newer.

Version History:
1.0 - Used ping.exe and tracert.exe.
1.1 - Uses internal ICMP code for ping and trace route.

Sweet how about adding resolving too.
 
DNS resolving? Do Ping and on the first line, it will say "google.com [74.125.45.100]." The address in the brackets is the resolved IP address.

Do you want that added as a separate radio button?
 
Uploaded version 1.2. It added the following:

DNS Resolve: Gives you the IP, no frills.

DNS Resolve (Advanced): Gives you the host name, aliases, and addresses of the domain name.

Trace Route (Advanced): This performs a Trace Route in addition to requesting the host name from all IPs. It can get all the host name information in the time it takes tracert.exe to get one thanks to multithreading.


More suggestions are welcome. :D
 
very awsome
 
I was thinking about recoding the GUI and adding Whois + DNS record. I don't know if I will though because this application isn't getting much attention. :(
 
I was thinking about recoding the GUI and adding Whois + DNS record. I don't know if I will though because this application isn't getting much attention. :(


Well i only use such a tool when Comcast are BS'ing me about my connection not being ucked up lol.

They have actually deleted every post about bad connections i have made in there forums lol. Last time it got me 2 free months haha.
 
I was thinking about recoding the GUI and adding Whois + DNS record. I don't know if I will though because this application isn't getting much attention. :(

i like your tool i run it just because im curious lol
 
I'm going to start an important project soon so adding the Whois/DNS Record features might be a ways off. We'll see.
 
I'm going to start an important project soon so adding the Whois/DNS Record features might be a ways off. We'll see.

Cool. People might like it more with a GUI ? ( even the option of ).
 
Super little tool.

I suggest a STOP button that is greyed out until you press START. The STOP is useful if you enter an unresolvable or dropped connection. Waiting for all the timeouts is unnecessary.

Otherwise, excellent.

ONE MORE FEATURE:

Some connections are blocked depending on your roaming. Example, I am currently using a hotspot and while I can DNS resolve, I can HTTP:80, I cannot HTTPS:8080 or FTP:21... and some other issues.

Perhaps a "test" of key port blocking would be useful too?!
 
Cool. People might like it more with a GUI ? ( even the option of ).
It will remain console-ish because it's easier to copy and paste results in addition to allowing different output from different tests. I'm definitely going to change the input at the top and the code behind the console.


Super little tool.

I suggest a STOP button that is greyed out until you press START. The STOP is useful if you enter an unresolvable or dropped connection. Waiting for all the timeouts is unnecessary.
You can stop it by typing something in the input box. But yeah, that's one of the things I will change. The way it is now made sense earlier but it doesn't anymore. :laugh:


Some connections are blocked depending on your roaming. Example, I am currently using a hotspot and while I can DNS resolve, I can HTTP:80, I cannot HTTPS:8080 or FTP:21... and some other issues.

Perhaps a "test" of key port blocking would be useful too?!
I guess I don't follow... do you mean ping the server on a specific port? Or attempt to create a TCP connection on that port and see if it fails?

Also, "test of key port blocking" would mean attempting the TCP connection accross mutliple ports at once, yeah? Do you have a list of which ones specifically?
 
It will remain console-ish because it's easier to copy and paste results in addition to allowing different output from different tests. I'm definitely going to change the input at the top and the code behind the console.



You can stop it by typing something in the input box. But yeah, that's one of the things I will change. The way it is now made sense earlier but it doesn't anymore. :laugh:



I guess I don't follow... do you mean ping the server on a specific port? Or attempt to create a TCP connection on that port and see if it fails?

Also, "test of key port blocking" would mean attempting the TCP connection accross mutliple ports at once, yeah? Do you have a list of which ones specifically?

What if info was in a copyable part.
 
Well, what did you have in mind instead of the console-esque appearance?
 
Also, "test of key port blocking" would mean attempting the TCP connection accross mutliple ports at once, yeah? Do you have a list of which ones specifically?

I'll give you an example: I have a server running in the office providing services on :80 (http), :21 (ftp), :8080 (https), and :5050 (ISDN over IP. From a regular ISP I can access all services, however, from wifi "hotspots" there is typically a lot of port blocking... which means that ping doesnt work, ftp doesnt work, https doesnt work, and ISDNoIP doesnt work. However, regular HTTP :80 does.

So what would be useful is to allow your tool to test things OTHER than just ping or traceroute, e.g. an :80 call, :21 ftp attempt, and possibly "optional" tests. That way we can "green light" various ports/services running (or available) at a certain site.

You could set up something like this:

Capture054.jpg
 
I'll need someone to test that because I am not blocking anything here. I'll see what I can do though.

I'm thinking of making the GUI tabbed pages (a page dedicated to each test and the results) and getting rid of the console.
 
I'm willing to test. You are doing a fine job and your tool has the potential to be a million download winner... with a little work :)

PS. Dont overtab or overcomplicate the interface. Perhaps a GUI mainscreen for inputs, GO/STOP, and traffic lights, and a console second window for traceroute.

PPS. When you hit "START" the traffic lights go yellow, then results make them green (success) or red (timeout). Nice.
 
I decided to stick to the console for the time being. So far, I added the following features:

-Stop button.
-Whois (Domain)
-Whois (Name Server)
-Whois (Registrar)

I'm working on adding other stuff.


Edit:
-DNS Record

Now to see what I can do about checking if a port is blocked.
 
Last edited:
I uploaded version 1.3. See the first post for details. I am not certain Port Scan will actually detect blocked ports or not. It needs to be tested. ;)


Also, if someone wants to make an Icon for me to use on it, I'll use it. The generic icons get a bit old.



No fancy colors yet. If I ever overhaul the GUI, I'll do that. Instead, I made "BLOCKED" all uppercase so it should stand out in a big list of scans.
 
How about adding a way to scan a local network and return all IPs and machine names that are in use. At work I use all static IPs on our local network and it would nice to run a quick test to see if an IP is taken. Normally you could just go to the domain server for this information, but not all of the networked machines are members of the domain (e.g. CNC machines, optical comparitors, etc.).
 
I'm not finding much information about how to do that. :(
 
I'm not finding much information about how to do that. :(

NOES!! this would be very usefull i would love to have a tool like this for the home network. their are a bunch of things on my network and id love be able see which device is offline. when the network goes down and comes back
 
Yeah, it would be useful but it looks like I'd have to use WMI/unmanaged/NetBIOS over TCP/IP and nothing is popping out at me saying "this will work." The only sure fire way to get network IPs, from what I am finding, is to get the list from a domain server.
 
Yeah, it would be useful but it looks like I'd have to use WMI/unmanaged/NetBIOS over TCP/IP and nothing is popping out at me saying "this will work." The only sure fire way to get network IPs, from what I am finding, is to get the list from a domain server.

could you do a range scan?

192.xxx.xx:xxxx-:xxxx and list responses?
 
For 192.168 (which is the smallest of the local networks), it would have to scan 65,536 IP addresses which is a lot. Moreover, if there is a firewall on that computer, you are likely to get no response at all from it.
 
Back
Top