Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

A simple Windows port scanner - Part 2

0.00/5 (No votes)
25 Jul 2003 1  
This project is a simple Windows port scanner which can be very useful for checking your machine to make sure it is locked down!

Sample Image - pcscan2.jpg

Introduction

i've recreated Rod VanAmburgh's "a simple port scanner" (the orignal version), because it has been something i've always planned on doing. I thought I could make small improvements on a project that was already pretty nice untouched.

I have looked the code completely over and made comments here and there. I've notice that the program is a multi-threaded program, i haven't messed with multi-threading before and didn't really touch it in my version. It took me awhile to realize why you were using a thread for each port scanned for something so simple. Then i realized the programs i've made with sockets and how messing with alot of ports the computers performance can suffer. That was nice thinking on Rod VanAmburgh part.

I've change the look of the new version and added some error handling to parts here and there. I've also added a progress bar to the new version.

I've changed the class CConnectionChk:



class CConnectionChk
{
    public:

        CConnectionChk();
        CConnectionChk(CString _ip, UINT _port)
        {
            ip = _ip;
            port = _port;
            log = "";
            found = false;
            finished = false;
        }


        CString log;
        CString ip;
        UINT port;
        bool found;
        bool finished;
};

into a struct:
struct CConnectionChk
{
        CString log;
        CString ip;
        UINT port;
        bool found;
        bool finished;
};
i've commented just about everything i've changed. I hope you enjoy and add your own style to it and repost it.

--ice911 (hope you like)

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here