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

Network Tools

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Nice job, Ford.

I do have one suggestion however. Could you add a "Show open ports only" option when scanning a range of ports?
 
Last edited:

AsRock

TPU addict
Joined
Jun 23, 2007
Messages
18,875 (3.07/day)
Location
UK\USA
Processor AMD 3900X \ AMD 7700X
Motherboard ASRock AM4 X570 Pro 4 \ ASUS X670Xe TUF
Cooling D15
Memory Patriot 2x16GB PVS432G320C6K \ G.Skill Flare X5 F5-6000J3238F 2x16GB
Video Card(s) eVga GTX1060 SSC \ XFX RX 6950XT RX-695XATBD9
Storage Sammy 860, MX500, Sabrent Rocket 4 Sammy Evo 980 \ 1xSabrent Rocket 4+, Sammy 2x990 Pro
Display(s) Samsung 1080P \ LG 43UN700
Case Fractal Design Pop Air 2x140mm fans from Torrent \ Fractal Design Torrent 2 SilverStone FHP141x2
Audio Device(s) Yamaha RX-V677 \ Yamaha CX-830+Yamaha MX-630 Infinity RS4000\Paradigm P Studio 20, Blue Yeti
Power Supply Seasonic Prime TX-750 \ Corsair RM1000X Shift
Mouse Steelseries Sensei wireless \ Steelseries Sensei wireless
Keyboard Logitech K120 \ Wooting Two HE
Benchmark Scores Meh benchmarks.
Sweeeeeeet. GJ keep it up :).
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/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.
Nice job, Ford.

I do have one suggestion however. Could you add a "Show open ports only" option when scanning a range of ports?
Good idea... That options pane is rather empty anyway. XD
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/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.
Beta 11 uploaded. Kreij's suggestion implemented.
 
Joined
Aug 30, 2006
Messages
7,197 (1.12/day)
System Name ICE-QUAD // ICE-CRUNCH
Processor Q6600 // 2x Xeon 5472
Memory 2GB DDR // 8GB FB-DIMM
Video Card(s) HD3850-AGP // FireGL 3400
Display(s) 2 x Samsung 204Ts = 3200x1200
Audio Device(s) Audigy 2
Software Windows Server 2003 R2 as a Workstation now migrated to W10 with regrets.
SUPERB!

Couple of problems
1./ save settings option didnt work on port scan page, like windows sizes
2./ sometimes problems if there are spaces in the port list, it skips them
3./ testing is too long by default. but an option might be useful there
4./ you can use http and ftp as port names, what is the full list?
5./ after hitting STOP, "testing..." should change to "aborted", assuming the thread really was cancelled

MARVERLOUS MARVELOUS MARVELOUS STUFF
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/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.
SUPERB!

Couple of problems
1./ save settings option didnt work on port scan page, like windows sizes
2./ sometimes problems if there are spaces in the port list, it skips them
3./ testing is too long by default. but an option might be useful there
4./ you can use http and ftp as port names, what is the full list?
5./ after hitting STOP, "testing..." should change to "aborted", assuming the thread really was cancelled

MARVERLOUS MARVELOUS MARVELOUS STUFF
1. I didn't notice anything wrong there but I'll double check...fixed (it was using the value from DNS Record instead of Port Scan).

2. I'll see about cleaning it up automatically...fixed ("google.com : FTP , HTTP" works).

3. I think the default timeout setting in .NET framework is 20 seconds and I haven't found a way to change it. If I find a way to, I'll fix it. No promises though.

4. All it does is replace the name (it is case insensitive) with the TCP Port number (e.g. 21 is the same as typing in FTP):
Name|TCP Port
FTP|21
SSH|22
TELNET|23
SMTP|25
HTTP|80
POP3|110
SFTP|115
SSL|443
SPOP|995

5. This is a spawn from the same problem described in #3. If you stop it, it lingers until those obscenely long timeouts finish. As far as I can tell, you can start a new search without consequence. There is no way for me to abort the action so, if you stop a scan and close the application, the application will hang until that 20 seconds has passed.


Kreji might have to help with #3 and #5. ;)


Beta 12 uploaded.
 

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Happy to help.

#3 : I am not sure what Lemon means by, "takes too long by default".

#5 : You cant' just orphan a thread. Well actually you can. I am sure you have seen it before. It's when a program tells you that it's "Not responding". The best solution is for the program to stick around and wait for it's child threads to complete. Upon closing the application, it should check for thread completion and say something like "waiting for processes to complete" and then exit gracefully. Garbage collection is another matter in these cases also dpending on what is going on. I don't think any of the threads that Ford is launching require manual disposal of resources, but it is always best to make sure that everything is done. If a thread has consumed resources that are not cleaned up by the normal GC, the resources might not be released. Think memory leak.

Sorry for rambling.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/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.
The problem is it hangs for 20 seconds if the port is blocked. Do like google.com:1 or google.com:FTP to get the hang. Here's the functional code:
Code:
                TcpClient client = new TcpClient();
                client.Connect(_EndPoint);
                client.Close();
I tried adding client.SendTimeOut = 5000 and client.ReceiveTimeOut = 5000 and it still hung for 20,000 ms (20 seconds).
 

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Is that only on internet ports (remote). I was getting intranet port blocked messages in about 2 seconds. Port open was almost instantaneous.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/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.
Internet, yes. Open ports do come back instananeously intranet and internet. It's when it is blocked that there is a problem. Everything I tried (including the following code) takes over 20 seconds on a closed port (e.g. google.com:1).

Code:
                Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                s.ReceiveTimeout = 5;
                s.SendTimeout = 5;
                s.Connect(_EndPoint);
                s.Close();

There's got to be a way to make the timeout shorter.


Intranet comes back blocked in 1.5 seconds compared to 21.5 seconds on internet.
 
Last edited:

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Can you call the socket connect with the blocking property set to false? This will cause the socket to throw a SocketException as it need time to connect. It looks like you can see if the return error is WSAEWOULDBLOCK, which means that the connection has not been connected succefully at that point.

If you put a timer in place and get a SocketException after some number of seconds, you can dispose of the socket.

No, I have not tried this :laugh:
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/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.
I don't think that would work because the socket is currently busy trying to connect. If you set blocking to true, that request wouldn't be processed until after the thread progresses beyond connecting.

It doesn't make sense why it would take so long to connect over internet compared to intranet.
 

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Maybe I read this wrong, but here is what it says about Socket.Connect...
Connect method will block, unless you specifically set the Blocking property to false prior to calling Connect. If you are using a connection-oriented protocol like TCP and you do disable blocking, Connect will throw a SocketException because it needs time to make the connection. Connectionless protocols will not throw an exception because they simply establish a default remote host. You can use SocketException.ErrorCode to obtain the specific error code. After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation in the MSDN library for a detailed description of the error. If the error returned WSAEWOULDBLOCK, the remote host connection has been initiated by a connection-oriented Socket, but has not yet completed successfully. Use the Poll method to determine when the Socket is finished connecting.

It looks like you can poll the socket for some period of time (say 3 or 5 seconds) to see if it sucessfully connected yet, and if not dispose of it.
 

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Bug Report #123A994-112 : If you scan a port on a non-existant IP address in your intranet, it sits for 20 seconds and then reports blocked instead of telling you that the address does not exist on the LAN.

Bug Report #123A994-113 : If you set the display status to "Testing", it display all ports as testing even after the scan has finished. This may be by design?

Suggestion # S401-Z : Could you add a completed status count section below the completion notification that lists each status count returned?
eg. Status Counts : Idle 0, Error 1, Blocked 5, Open 2
Similar to the Header and Flags section of DNS Record.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/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.
Maybe I read this wrong, but here is what it says about Socket.Connect...


It looks like you can poll the socket for some period of time (say 3 or 5 seconds) to see if it sucessfully connected yet, and if not dispose of it.
Uh...I'm confused. :(


Bug Report #123A994-112 : If you scan a port on a non-existant IP address in your intranet, it sits for 20 seconds and then reports blocked instead of telling you that the address does not exist on the LAN.
Everything sounds correct there except for the 20 second issue. Blocked means a connection could not be established, for whatever the reason.


Bug Report #123A994-113 : If you set the display status to "Testing", it display all ports as testing even after the scan has finished. This may be by design?
I think I will just make it boolean for each: true to display those updates or false to ignore.


Suggestion # S401-Z : Could you add a completed status count section below the completion notification that lists each status count returned?
eg. Status Counts : Idle 0, Error 1, Blocked 5, Open 2
Similar to the Header and Flags section of DNS Record.
I'll do something with that but not sure what yet...


Edit: Beta 13 uploaded with some of these changes/fixes.
 
Last edited:

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Uh...I'm confused. :(

I am too, and have not had an opportunity to try it. Whoever wrote that section for MSDN didn't make it very clear.

Everything sounds correct there except for the 20 second issue. Blocked means a connection could not be established, for whatever the reason.

Well, to me it's a bit misleading. It would make one think that the port is blocked on the machine when in fact, the machine does not exist.

I think I will just make it boolean for each: true to display those updates or false to ignore.

I suppose it does not really matter. The testing result is not really of any value other than to show it's not completed that port's scan.

I'll do something with that but not sure what yet...
Okey dokey. It's up to you. I just thought it might be niced to be able to glance and see the total number of ports open and blocked after a scan.

Edit: Beta 13 uploaded with some of these changes/fixes.

Off to get b13 ....
 

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
b13 looks good. Works as it should.

Maybe above count you could put in another line and before the scan starts do a quick ping on the host. If it fails, indicate that the host was not found or something and don't run the scan. That way it would save having to wait for the scan to complete in the event of a non-existing IP.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/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.
I can't do that because you can do more than one host by using a semi-colon. It would be confusing what that line is talking about.

The host look up could take at least 5 seconds by itself. :(
 
D

Deleted member 67555

Guest
Ford For future reference, if you don't mind, please notify me on your works...

i find this quite interesting


LOL this would be great integrated into COD WaW
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/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.
I can't even keep track of them. :(
 
Top