Sixem

.NET Packetlogger TCP

Aug 3rd, 2013
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 5.65 KB | None | 0 0
  1. 'Written By Sixem 12.04.2012
  2. 'Requires PacketDotNet.dll and SharpPcap.dll
  3. Imports SharpPcap
  4. Imports PacketDotNet
  5. Imports System.Net.Sockets
  6. Imports System.Text
  7. Imports System.Text.RegularExpressions
  8. Public Class Form1
  9.     Dim devices As CaptureDeviceList = CaptureDeviceList.Instance
  10.     Dim device As ICaptureDevice
  11.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  12.         If devices.Count < 1 Then
  13.             'Combobox
  14.             cbAdapters.Items.Add("No Devices Found")
  15.             Return
  16.         End If
  17.         For Each dev As ICaptureDevice In devices
  18.             'Combobox
  19.             cbAdapters.Items.Add(dev.Description.ToString())
  20.         Next
  21.         cbAdapters.SelectedIndex = 0
  22.         CheckForIllegalCrossThreadCalls = False
  23.     End Sub
  24.     Dim Bufferer As Byte()
  25.     Private Sub Start_Capture()
  26.         Dim device As ICaptureDevice = devices(cbAdapters.SelectedIndex)
  27.         AddHandler device.OnPacketArrival, New SharpPcap.PacketArrivalEventHandler(AddressOf Device_OnPacketArrival)
  28.         Dim readTimeoutMilliseconds As Integer = 0
  29.         device.Open(DeviceMode.Promiscuous, readTimeoutMilliseconds)
  30.         device.StartCapture()
  31.     End Sub
  32.     Private Sub Device_OnPacketArrival(ByVal sender As Object, ByVal packet As CaptureEventArgs)
  33.         Dim time As DateTime = packet.Packet.Timeval.Date
  34.         Dim len As Integer = packet.Packet.Data.Length
  35.         Dim Packet_Buffer As Byte() = packet.Packet.Data
  36.         Bufferer = Packet_Buffer
  37.         MAC_Status.Text = String.Format("Current MAC: {0}", packet.Device.MacAddress.ToString)
  38.         Dim u As String = Nothing
  39.         For Each B As Byte In Packet_Buffer
  40.             u &= (B.ToString("X2"))
  41.         Next
  42.         Try
  43.             Dim Received_TCP As String = (TcpPacket.GetEncapsulated((TcpPacket.ParsePacket(packet.Packet.LinkLayerType, packet.Packet.Data))).ToString)
  44.             If Received_TCP.Contains("Flags=") = True Then
  45.                 Dim Port As String = (Getbetween_RegexMethod(Received_TCP, "SourcePort=", ","))
  46.                 Dim Flags As String = Regex.Split(Received_TCP, "Flags=").GetValue(1)
  47.                 Dim Results As New ListViewItem
  48.                 Results.Text = "TCP"
  49.                 Results.SubItems.Add(Port)
  50.                 Results.SubItems.Add(Flags)
  51.                 ListView1.Items.Add(Results)
  52.             End If
  53.         Catch ex As Exception
  54.         End Try
  55.         Try
  56.             Dim Received_UDP As String = (UdpPacket.GetEncapsulated((UdpPacket.ParsePacket(packet.Packet.LinkLayerType, packet.Packet.Data))).ToString)
  57.             If Received_UDP.Contains("Flags=") = True Then
  58.                 Dim Port As String = (Getbetween_RegexMethod(Received_UDP, "SourcePort=", ","))
  59.                 Dim Flags As String = Regex.Split(Received_UDP, "Flags=").GetValue(1)
  60.                 Dim Results As New ListViewItem
  61.                 Results.Text = "UDP"
  62.                 Results.SubItems.Add(Port)
  63.                 Results.SubItems.Add(Flags)
  64.                 ListView1.Items.Add(Results)
  65.             End If
  66.         Catch ex As Exception
  67.         End Try
  68.  
  69.     End Sub
  70.     Private Function Getbetween_RegexMethod(ByVal I As String, ByVal F As String, ByVal S As String)
  71.         Try
  72.             Return CStr(Regex.Split(Regex.Split(I, F).GetValue(1), S).GetValue(0))
  73.         Catch ex As Exception
  74.             Return 80
  75.         End Try
  76.     End Function
  77.     Function Insert_V(ByVal HEXLONG As String)
  78.         Dim str As String = HEXLONG
  79.         Dim parts(str.Length \ 2 - 1) As String
  80.         For x As Integer = 0 To str.Length - 1 Step 2
  81.             Try
  82.                 parts(x \ 2) = str.Substring(x, 2)
  83.             Catch ex As Exception
  84.             End Try
  85.         Next
  86.         Return (String.Join(":", parts))
  87.     End Function
  88.     Function HexDecode(ByVal Value As String) As String
  89.         Dim Meta As String = Insert_V(Value)
  90.  
  91.         Dim Spl As String() = Meta.Split(":")
  92.         Dim P As String = Nothing
  93.         For Each i As String In Spl
  94.             Try
  95.                 P &= System.Convert.ToChar(System.Convert.ToUInt32(i, 16))
  96.             Catch ex As Exception
  97.             End Try
  98.         Next
  99.         Return P
  100.     End Function
  101.     Private Sub Clear_Packets()
  102.         ListView1.Items.Clear()
  103.     End Sub
  104.     Private Function Bytes_To_String2(ByVal bytes_Input As Byte()) As String
  105.         Dim strTemp As New StringBuilder(bytes_Input.Length * 2)
  106.         For Each b As Byte In bytes_Input
  107.             strTemp.Append(Conversion.Hex(b))
  108.         Next
  109.         Return strTemp.ToString()
  110.     End Function
  111.     Function ExtractASCII26To44(ByVal B() As Byte) As String
  112.         Try
  113.             Dim SB As New StringBuilder(18)
  114.             For I As Integer = 26 To 44
  115.                 SB.Append(Chr(B(I)))
  116.             Next
  117.             Return SB.ToString
  118.         Catch ex As Exception
  119.             Return 0
  120.         End Try
  121.     End Function
  122.     Function DecodeHEX_BitConvert(ByVal Value As String) As String
  123.         Dim Spl As String() = Value.Split("-")
  124.         Dim P As String = Nothing
  125.         For Each i As String In Spl
  126.             Try
  127.                 P &= System.Convert.ToChar(System.Convert.ToUInt32(i, 16))
  128.             Catch ex As Exception
  129.             End Try
  130.         Next
  131.         Return P
  132.     End Function
  133.     Public Function HexToString(ByVal HexToStr As String) As String
  134.         Dim strTemp As String
  135.         Dim strReturn As String
  136.         Dim I As Long
  137.         For I = 1 To Len(HexToStr) Step 2
  138.             strTemp = Chr(Val("&H" & Mid$(HexToStr, I, 2)))
  139.             strReturn = strReturn & strTemp
  140.         Next I
  141.         HexToString = strReturn
  142.     End Function
  143. End Class
Advertisement
Add Comment
Please, Sign In to add comment