Support Forums

Full Version: VB.NET Port Scanner [TUT]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
Note: I take no credit for the coding of this port scanner..
Credits go to David Kramer for posting it on Code Project

Ok so first off create a new Windows Application Form
You will need to add:

- TextBox X2
- ListBox X2
- Button X2
- Labels
- Timer


Add a label next to TextBox1 saying 'Host:'
And add 1 next to TextBox2 saying 'Port:'
Change the text on Button1 to 'start'
Change Button2 to 'stop'
Add a label for ListBox1 saying 'Ports being scanned:'
Add 1 for ListBox2 saying 'Open ports:'

----------------------------------------------------

Ok now for the coding...

First off declare the variables

Code:
Dim host As String
Dim port As Integer
Dim counter As Integer

Add the following to Form_load

Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button2.Enabled = False
        TextBox2.Text = "0"
        'set counter explained before to 0
        counter = 0
    End Sub

Add the following to Timer_tick

Code:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
      'Set the host and port and counter
        counter = counter + 1 'counter is for the timer
        TextBox2.Text = counter
        host = TextBox1.Text
        port = TextBox2.Text
        ' Next part creates a socket to try and connect on with the given user information.
    
        Dim hostadd As System.Net.IPAddress = System.Net.Dns.GetHostEntry(host).AddressList(0)
        Dim EPhost As New System.Net.IPEndPoint(hostadd, port)
        Dim s As New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, _
        System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
        Try
            s.Connect(EPhost)
        Catch
        End Try
        If Not s.Connected Then
            ListBox1.Items.Add("Port " + port.ToString + " is not open")
        Else
            ListBox1.Items.Add("Port " + port.ToString + " is open")
            ListBox2.Items.Add(port.ToString)
        End If
        Label3.Text = "Open Ports: " + ListBox2.Items.Count.ToString
    End Sub

Add the following to the Start button_click

Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ListBox1.Items.Add("Scanning: " + TextBox1.Text)
        ListBox1.Items.Add("-------------------")
        Button2.Enabled = True
        Button1.Enabled = False
        Timer1.Enabled = True
        Timer1.Start()
    End Sub

Add the following to Button2_click (stop)

Code:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'stop button
        Timer1.Stop()
        Timer1.Enabled = False
        Button1.Enabled = True
        Button2.Enabled = False
    End Sub

Hope this helps. Blackhat
Bump... Nobody find this useful? lol Sad
thanks For Sharing Major

Big Grin

OFF

Plz contact me in MSN
Ok i managed to get as far building with no errors.
When i run the application, if put ip into host i get a constant unexpected error warning.
When i put a domain name, it works if left alone, but ignores the port number i put in port and just starts from port 1 and continues to check even past
the port i put.
And if i try and stop it, it stops responding and i have to end the program.

Im new to this. So maybe i have other looked something.
Please help
Very nice tut dude..

Thanks
@Phire, I don't know what you mean. Can you maybe post a screenshot?
It work, thanks.
Very nice TUT "The Major" keep up the Good Work.
No worries. I'm glad you all like it.
Great tutorial, I've used your tutorial once and it worked. Thank you.
Pages: 1 2 3 4