ping IP/host

hey

i have now somewhat succesfully made an ip-tracker.

how do i make it able to "ping" an IP og host sa it will send out 4 packets or something and then count how many returns you know what i mean im sure.

and is it possible to get a "whois" thing build in to it

im using Visual Basic xpress 2005.

//Martin




Answer this question

ping IP/host

  • danych

    hey.
    finaly working.

    but do you know how to make it close the damn console wondow that appears
    and can you make it write the result in a richtextbox

    i have tried changing it myself, but it wont work

    //Martin


  • Kevin Dente


    WOW!
    that did the trick, i used a Rich Textbox berfore.

    now another question. is it possible to show the ping progress in an progressbar
    and:
    p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

    does not work ): it still shows the black prompt window ):

    //Martin


  • MaggieChan

    Try this

    My.Computer.Network.Ping("www.google.com")

    Simao

    landsimao.hotmail.com


  • GrayMatter Software

    No

    The process is purely a call to an external process.   You cant update a progress bar from here.   This will result in the window not showing.

     
        Public Shared Function RunExecutable(ByVal ExecutableName As String, ByVal args As String) As String
            Dim p As Diagnostics.Process = New Diagnostics.Process
            p.StartInfo.FileName = ExecutableName
            p.StartInfo.Arguments = args
            p.StartInfo.UseShellExecute = False
            p.StartInfo.CreateNoWindow = True

            p.StartInfo.RedirectStandardOutput = True
            p.Start()
            Return p.StandardOutput.ReadToEnd
            p.WaitForExit()
        End Function


  • DotNetFireball

  • MuscleHead

    http://msdn2.microsoft.com/en-us/library/he5sca5t.aspx

    this just returns a true or false if successful - if you want more details then you would need to use one of the alternatives.

    you could simply as an alternative process.start an external ping.exe and capture the output.


  • Prashanth Desai

    Some code to capture the output from a command shell application like ping. In this case you are executing a command Ping.exe 1.1.2.3 and will get the return the output from this command as a string.

    This would work if you already have command shell applications that you want to run and get the output from.

    Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim s As String = RunExecutable("Ping.exe", "1.1.2.3")
    MsgBox(s)
    End Sub

    Public Shared Function RunExecutable(ByVal ExecutableName As String, ByVal args As String) As String
    Dim p As Diagnostics.Process = New Diagnostics.Process
    p.StartInfo.FileName = ExecutableName
    p.StartInfo.Arguments = args
    p.StartInfo.UseShellExecute = False
    p.StartInfo.RedirectStandardOutput = True
    p.Start()
    Return p.StandardOutput.ReadToEnd
    p.WaitForExit()
    End Function

    End Class


  • dreameR.78

    p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

    may help to not show the window

    It writes a string - so just set the text property of the textbox or whatever control you want to use.


  • Socal5vee


    the string is very difficuilt to red, ther4e is no "next lines" sa it is just out in one, not like in the msgbox.
    is it possible to fix that


  • Frank2808

    Hope this helps (From VB101 Samples):

    Private Sub DoPing_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DoPing.Click

    ' ping the IP address provided.

    ' This call blocks until the ping is successful or

    ' the timeout expires

    If Me.pingIPAddress.Text.Length > 0 Then

    Me.DoPing.Enabled = Me.doPingAsynch.Enabled = False

    Try

    Dim reply As PingReply = ping.Send(Me.pingIPAddress.Text)

    'Show the ping results

    ShowPingResultInfo(reply)

    Catch ex As PingException

    MessageBox.Show("The following error occured:" & Microsoft.VisualBasic.Chr(10) & "" & Microsoft.VisualBasic.Chr(13) & "" + ex.Message, "Network Sample", MessageBoxButtons.OK, MessageBoxIcon.Error)

    End Try

    Me.DoPing.Enabled = Me.doPingAsynch.Enabled = True

    Else

    MessageBox.Show("You must enter an address to ping first", "Network Sample", MessageBoxButtons.OK, MessageBoxIcon.Error)

    End If

    End Sub

    Private Sub ShowPingResultInfo(ByVal reply As PingReply)

    ' Show the details of the PingReply

    If reply.Status = IPStatus.Success Then

    Dim builder As StringBuilder = New StringBuilder

    builder.Append("You pinged: " & Microsoft.VisualBasic.Chr(9) & "" & Microsoft.VisualBasic.Chr(9) & "")

    builder.AppendLine(reply.Address.ToString)

    builder.AppendLine()

    builder.Append("The status returned was: " & Microsoft.VisualBasic.Chr(9) & "")

    builder.AppendLine(reply.Status.ToString)

    builder.AppendLine()

    builder.Append("The roundtrip time was: " & Microsoft.VisualBasic.Chr(9) & "")

    builder.AppendLine(reply.RoundtripTime.ToString("N"))

    builder.AppendLine()

    If Not (reply.Buffer Is Nothing) Then

    builder.Append("The reply message was: " & Microsoft.VisualBasic.Chr(9) & "")

    builder.AppendLine(ConvertByteBufferToString(reply.Buffer))

    builder.AppendLine()

    End If

    Dim options As PingOptions = reply.Options

    builder.Append("Ttl: " & Microsoft.VisualBasic.Chr(9) & "" & Microsoft.VisualBasic.Chr(9) & "" & Microsoft.VisualBasic.Chr(9) & "")

    builder.AppendLine(options.Ttl.ToString)

    builder.AppendLine()

    builder.Append("Dont Fragment: " & Microsoft.VisualBasic.Chr(9) & "" & Microsoft.VisualBasic.Chr(9) & "")

    builder.AppendLine(options.DontFragment.ToString)

    builder.AppendLine()

    MessageBox.Show(builder.ToString, "Ping Results", MessageBoxButtons.OK, MessageBoxIcon.Information)

    Return

    End If

    MessageBox.Show("Ping was not Successfull." & Microsoft.VisualBasic.Chr(10) & "" & Microsoft.VisualBasic.Chr(13) & "Status Code: " + reply.Status.ToString, "Ping Results", MessageBoxButtons.OK, MessageBoxIcon.Information)

    End Sub


  • Osiris43

    simao - how do i make the computer write it sa the user can se it
    it have to write the ip an domain it pinged.
    the ping rate
    how manu packets send, hoe many lost etc.

    can you do that


  • Andrew Buyan

    If your trying to display it in a textbox - set the textbox multiline property to true and it will display in exactly the same way as the messagebox contents.


  • rxg

    Wow that looks unbelievably laborious....



  • Price Brattin

    Spotty - how do you do that
    im novice in programming. sa please help me a little more.

    //Martin


  • ping IP/host