1. In the input text box. Separate multiple port numbers by commas. See the picture in the first post for an example. It assumes all ports use the "localhost" IP. Basically, it creates a TCP Listener on all the ports you specify. Once the Listener is good, it stops it and reports back. Theoretically, if the port is blocked, it should throw an exception when attempting to start the listener which is caught and handled.
By the way, the Port Scan is multithreaded so if you put in 80,8080,5050, it may or may not show the results in that order. It displays them in the order it completes them.
2. That's a short fall of the .NET framework. Everytime the app finishes writing data, I force it to scroll to the bottom through a user32.dll call and then focus the cursor back in the input text box. I don't know of a way to do it any better than that, unfortunately, without either changing the GUI completely or making the app an entirely console application which means no stopping a task mid-stream and text-based menus.
Edit:
No, actually you wouldn't need to do it that way. Grab the IP of the requesting machine, strip off the last number (say 10.1.1.x) and then scan from 10.1.1.1 to 10.1.1.254
I occansionally use a little freeware utility called "dnswalker", but it's dirt slow and only does that (unlike yours which has more functionality).
This worked. On my network, it does 192.168.0.1-192.168.0.255 in approximately 30 seconds. Is that faster than dnswalker? It gets the hostname too (which surprised me) for all except my the router. It detected all running devices (router, my computer, my server, laser printer, and inkjet printer).
Edit 2: I think I won't release 1.4 until I know for sure Port Scan works. Also, if there's any other changes I should make in this release, let me hear 'em.
At this rate, I'm going to run out of version numbers.
Edit 3: Solaris' comment about "ranges" inspired me to add port ranges to the port scan. For example, in 1.4, the following will work:
80,90,100-110,99-95,70
It produces:
Code:
Started the port scan...
100 Good
90 Good
101 Good
80 Good
102 Good
103 Good
104 Good
105 Good
106 Good
107 Good
108 Good
109 Good
110 Good
95 Good
96 Good
97 Good
98 Good
99 Good
70 Good
Scan Complete (500 milliseconds)