Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Written By Sixem 12.04.2012
- 'Requires PacketDotNet.dll and SharpPcap.dll
- Imports SharpPcap
- Imports PacketDotNet
- Imports System.Net.Sockets
- Imports System.Text
- Imports System.Text.RegularExpressions
- Public Class Form1
- Dim devices As CaptureDeviceList = CaptureDeviceList.Instance
- Dim device As ICaptureDevice
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- If devices.Count < 1 Then
- 'Combobox
- cbAdapters.Items.Add("No Devices Found")
- Return
- End If
- For Each dev As ICaptureDevice In devices
- 'Combobox
- cbAdapters.Items.Add(dev.Description.ToString())
- Next
- cbAdapters.SelectedIndex = 0
- CheckForIllegalCrossThreadCalls = False
- End Sub
- Dim Bufferer As Byte()
- Private Sub Start_Capture()
- Dim device As ICaptureDevice = devices(cbAdapters.SelectedIndex)
- AddHandler device.OnPacketArrival, New SharpPcap.PacketArrivalEventHandler(AddressOf Device_OnPacketArrival)
- Dim readTimeoutMilliseconds As Integer = 0
- device.Open(DeviceMode.Promiscuous, readTimeoutMilliseconds)
- device.StartCapture()
- End Sub
- Private Sub Device_OnPacketArrival(ByVal sender As Object, ByVal packet As CaptureEventArgs)
- Dim time As DateTime = packet.Packet.Timeval.Date
- Dim len As Integer = packet.Packet.Data.Length
- Dim Packet_Buffer As Byte() = packet.Packet.Data
- Bufferer = Packet_Buffer
- MAC_Status.Text = String.Format("Current MAC: {0}", packet.Device.MacAddress.ToString)
- Dim u As String = Nothing
- For Each B As Byte In Packet_Buffer
- u &= (B.ToString("X2"))
- Next
- Try
- Dim Received_TCP As String = (TcpPacket.GetEncapsulated((TcpPacket.ParsePacket(packet.Packet.LinkLayerType, packet.Packet.Data))).ToString)
- If Received_TCP.Contains("Flags=") = True Then
- Dim Port As String = (Getbetween_RegexMethod(Received_TCP, "SourcePort=", ","))
- Dim Flags As String = Regex.Split(Received_TCP, "Flags=").GetValue(1)
- Dim Results As New ListViewItem
- Results.Text = "TCP"
- Results.SubItems.Add(Port)
- Results.SubItems.Add(Flags)
- ListView1.Items.Add(Results)
- End If
- Catch ex As Exception
- End Try
- Try
- Dim Received_UDP As String = (UdpPacket.GetEncapsulated((UdpPacket.ParsePacket(packet.Packet.LinkLayerType, packet.Packet.Data))).ToString)
- If Received_UDP.Contains("Flags=") = True Then
- Dim Port As String = (Getbetween_RegexMethod(Received_UDP, "SourcePort=", ","))
- Dim Flags As String = Regex.Split(Received_UDP, "Flags=").GetValue(1)
- Dim Results As New ListViewItem
- Results.Text = "UDP"
- Results.SubItems.Add(Port)
- Results.SubItems.Add(Flags)
- ListView1.Items.Add(Results)
- End If
- Catch ex As Exception
- End Try
- End Sub
- Private Function Getbetween_RegexMethod(ByVal I As String, ByVal F As String, ByVal S As String)
- Try
- Return CStr(Regex.Split(Regex.Split(I, F).GetValue(1), S).GetValue(0))
- Catch ex As Exception
- Return 80
- End Try
- End Function
- Function Insert_V(ByVal HEXLONG As String)
- Dim str As String = HEXLONG
- Dim parts(str.Length \ 2 - 1) As String
- For x As Integer = 0 To str.Length - 1 Step 2
- Try
- parts(x \ 2) = str.Substring(x, 2)
- Catch ex As Exception
- End Try
- Next
- Return (String.Join(":", parts))
- End Function
- Function HexDecode(ByVal Value As String) As String
- Dim Meta As String = Insert_V(Value)
- Dim Spl As String() = Meta.Split(":")
- Dim P As String = Nothing
- For Each i As String In Spl
- Try
- P &= System.Convert.ToChar(System.Convert.ToUInt32(i, 16))
- Catch ex As Exception
- End Try
- Next
- Return P
- End Function
- Private Sub Clear_Packets()
- ListView1.Items.Clear()
- End Sub
- Private Function Bytes_To_String2(ByVal bytes_Input As Byte()) As String
- Dim strTemp As New StringBuilder(bytes_Input.Length * 2)
- For Each b As Byte In bytes_Input
- strTemp.Append(Conversion.Hex(b))
- Next
- Return strTemp.ToString()
- End Function
- Function ExtractASCII26To44(ByVal B() As Byte) As String
- Try
- Dim SB As New StringBuilder(18)
- For I As Integer = 26 To 44
- SB.Append(Chr(B(I)))
- Next
- Return SB.ToString
- Catch ex As Exception
- Return 0
- End Try
- End Function
- Function DecodeHEX_BitConvert(ByVal Value As String) As String
- Dim Spl As String() = Value.Split("-")
- Dim P As String = Nothing
- For Each i As String In Spl
- Try
- P &= System.Convert.ToChar(System.Convert.ToUInt32(i, 16))
- Catch ex As Exception
- End Try
- Next
- Return P
- End Function
- Public Function HexToString(ByVal HexToStr As String) As String
- Dim strTemp As String
- Dim strReturn As String
- Dim I As Long
- For I = 1 To Len(HexToStr) Step 2
- strTemp = Chr(Val("&H" & Mid$(HexToStr, I, 2)))
- strReturn = strReturn & strTemp
- Next I
- HexToString = strReturn
- End Function
- End Class
Advertisement
Add Comment
Please, Sign In to add comment