I am intercepting a tcp transmission of an app I use, but I need to get the data into a table (excel or db). I can read the message but it also conatains a lot of gibberish (that is probably useful to the original program but I only need the information). I was able to extract some data, but only when searching for patterns, but I can’t predict the content, so I need a better solution. I was thinking of splitting up the input but the content doesn’t have a fixed lenght.
Generally I want the information “Time”, “EventName”, “Round”, “Classes”, “ClassesShort” and “CombinedName” from all entries.
Can someone help me or suggest another way to approach this?
System.Collections.Generic.List`1[[System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=yesthisisapublictoken]] _items_size_version
RDisplayBoard.Communication, Version=1.0.0.17, Culture=neutral, PublicKeyToken=null -DisplayBoard.Communication.Packets.LoadLayout #LayoutBase+<Channel>k__BackingField$LayoutBase+<FileName>k__BackingField LayoutBase+<Name>k__BackingField*LayoutBase+<SendCurrenView>k__BackingField Schedule
+Layout_0d805b91-d3a6-4702-82be-b266da8ccf93 .DisplayBoard.Communication.Packets.SetProperty <Channel>k__BackingField<LayoutName>k__BackingField<ElementName>k__BackingField<PropertyName>k__BackingField<Value>k__BackingField
Header1 Text 8yesthisisaeventname
Header2 yesthisisaplaceandtime
ListTitle yesthisisalisttitle
ListTitleWithDate yesthisisalisttitleandthedate
SessionName yesthisisadate
" List# Data $
-DisplayBoard.Communication.Packets.ShowLayout ClearOthers#LayoutBase+<Channel>k__BackingField$LayoutBase+<FileName>k__BackingField LayoutBase+<Name>k__BackingField*LayoutBase+<SendCurrenView>k__BackingField
& NSystem.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=yesthisisapublictoken$ #DisplayBoard.Communication.ListData <Table>k__BackingFieldSystem.Data.DataTable& ' ' System.Data.DataTable DataTable.RemotingVersionDataTable.RemotingFormatDataTable.TableNameDataTable.NamespaceDataTable.PrefixDataTable.CaseSensitiveDataTable.caseSensitiveAmbientDataTable.LocaleLCIDDataTable.MinimumCapacityDataTable.NestedInDataSetDataTable.TypeNameDataTable.RepeatableElementDataTable.ExtendedPropertiesDataTable.Columns.Count!DataTable.DataColumn_0.ColumnName DataTable.DataColumn_0.NamespaceDataTable.DataColumn_0.Prefix$DataTable.DataColumn_0.ColumnMapping"DataTable.DataColumn_0.AllowDBNull$DataTable.DataColumn_0.AutoIncrement(DataTable.DataColumn_0.AutoIncrementStep(DataTable.DataColumn_0.AutoIncrementSeedDataTable.DataColumn_0.Caption#DataTable.DataColumn_0.DefaultValueDataTable.DataColumn_0.ReadOnly DataTable.DataColumn_0.MaxLengthDataTable.DataColumn_0.DataType"DataTable.DataColumn_0.XmlDataType!DataTable.DataColumn_0.SimpleType#DataTable.DataColumn_0.DateTimeMode+DataTable.DataColumn_0.AutoIncrementCurrent!DataTable.DataColumn_0.Expression)DataTable.DataColumn_0.ExtendedProperties!DataTable.DataColumn_1.ColumnName DataTable.DataColumn_1.NamespaceDataTable.DataColumn_1.Prefix$DataTable.DataColumn_1.ColumnMapping"DataTable.DataColumn_1.AllowDBNull$DataTable.DataColumn_1.AutoIncrement(DataTable.DataColumn_1.AutoIncrementStep(DataTable.DataColumn_1.AutoIncrementSeedDataTable.DataColumn_1.Caption#DataTable.DataColumn_1.DefaultValueDataTable.DataColumn_1.ReadOnly DataTable.DataColumn_1.MaxLengthDataTable.DataColumn_1.DataType"DataTable.DataColumn_1.XmlDataType!DataTable.DataColumn_1.SimpleType#DataTable.DataColumn_1.DateTimeMode+DataTable.DataColumn_1.AutoIncrementCurrent!DataTable.DataColumn_1.Expression)DataTable.DataColumn_1.ExtendedProperties!DataTable.DataColumn_2.ColumnName DataTable.DataColumn_2.NamespaceDataTable.DataColumn_2.Prefix$DataTable.DataColumn_2.ColumnMapping"DataTable.DataColumn_2.AllowDBNull$DataTable.DataColumn_2.AutoIncrement(DataTable.DataColumn_2.AutoIncrementStep(DataTable.DataColumn_2.AutoIncrementSeedDataTable.DataColumn_2.Caption#DataTable.DataColumn_2.DefaultValueDataTable.DataColumn_2.ReadOnly DataTable.DataColumn_2.MaxLengthDataTable.DataColumn_2.DataType"DataTable.DataColumn_2.XmlDataType!DataTable.DataColumn_2.SimpleType#DataTable.DataColumn_2.DateTimeMode+DataTable.DataColumn_2.AutoIncrementCurrent!DataTable.DataColumn_2.Expression)DataTable.DataColumn_2.ExtendedProperties!DataTable.DataColumn_3.ColumnName DataTable.DataColumn_3.NamespaceDataTable.DataColumn_3.Prefix$DataTable.DataColumn_3.ColumnMapping"DataTable.DataColumn_3.AllowDBNull$DataTable.DataColumn_3.AutoIncrement(DataTable.DataColumn_3.AutoIncrementStep(DataTable.DataColumn_3.AutoIncrementSeedDataTable.DataColumn_3.Caption#DataTable.DataColumn_3.DefaultValueDataTable.DataColumn_3.ReadOnly DataTable.DataColumn_3.MaxLengthDataTable.DataColumn_3.DataType"DataTable.DataColumn_3.XmlDataType!DataTable.DataColumn_3.SimpleType#DataTable.DataColumn_3.DateTimeMode+DataTable.DataColumn_3.AutoIncrementCurrent!DataTable.DataColumn_3.Expression)DataTable.DataColumn_3.ExtendedProperties!DataTable.DataColumn_4.ColumnName DataTable.DataColumn_4.NamespaceDataTable.DataColumn_4.Prefix$DataTable.DataColumn_4.ColumnMapping"DataTable.DataColumn_4.AllowDBNull$DataTable.DataColumn_4.AutoIncrement(DataTable.DataColumn_4.AutoIncrementStep(DataTable.DataColumn_4.AutoIncrementSeedDataTable.DataColumn_4.Caption#DataTable.DataColumn_4.DefaultValueDataTable.DataColumn_4.ReadOnly DataTable.DataColumn_4.MaxLengthDataTable.DataColumn_4.DataType"DataTable.DataColumn_4.XmlDataType!DataTable.DataColumn_4.SimpleType#DataTable.DataColumn_4.DateTimeMode+DataTable.DataColumn_4.AutoIncrementCurrent!DataTable.DataColumn_4.Expression)DataTable.DataColumn_4.ExtendedProperties!DataTable.DataColumn_5.ColumnName DataTable.DataColumn_5.NamespaceDataTable.DataColumn_5.Prefix$DataTable.DataColumn_5.ColumnMapping"DataTable.DataColumn_5.AllowDBNull$DataTable.DataColumn_5.AutoIncrement(DataTable.DataColumn_5.AutoIncrementStep(DataTable.DataColumn_5.AutoIncrementSeedDataTable.DataColumn_5.Caption#DataTable.DataColumn_5.DefaultValueDataTable.DataColumn_5.ReadOnly DataTable.DataColumn_5.MaxLengthDataTable.DataColumn_5.DataType"DataTable.DataColumn_5.XmlDataType!DataTable.DataColumn_5.SimpleType#DataTable.DataColumn_5.DateTimeMode+DataTable.DataColumn_5.AutoIncrementCurrent!DataTable.DataColumn_5.Expression)DataTable.DataColumn_5.ExtendedProperties!DataTable.DataColumn_6.ColumnName DataTable.DataColumn_6.NamespaceDataTable.DataColumn_6.Prefix$DataTable.DataColumn_6.ColumnMapping"DataTable.DataColumn_6.AllowDBNull$DataTable.DataColumn_6.AutoIncrement(DataTable.DataColumn_6.AutoIncrementStep(DataTable.DataColumn_6.AutoIncrementSeedDataTable.DataColumn_6.Caption#DataTable.DataColumn_6.DefaultValueDataTable.DataColumn_6.ReadOnly DataTable.DataColumn_6.MaxLengthDataTable.DataColumn_6.DataType"DataTable.DataColumn_6.XmlDataType!DataTable.DataColumn_6.SimpleType#DataTable.DataColumn_6.DateTimeMode+DataTable.DataColumn_6.AutoIncrementCurrent!DataTable.DataColumn_6.Expression)DataTable.DataColumn_6.ExtendedProperties!DataTable.DataColumn_7.ColumnName DataTable.DataColumn_7.NamespaceDataTable.DataColumn_7.Prefix$DataTable.DataColumn_7.ColumnMapping"DataTable.DataColumn_7.AllowDBNull$DataTable.DataColumn_7.AutoIncrement(DataTable.DataColumn_7.AutoIncrementStep(DataTable.DataColumn_7.AutoIncrementSeedDataTable.DataColumn_7.Caption#DataTable.DataColumn_7.DefaultValueDataTable.DataColumn_7.ReadOnly DataTable.DataColumn_7.MaxLengthDataTable.DataColumn_7.DataType"DataTable.DataColumn_7.XmlDataType!DataTable.DataColumn_7.SimpleType#DataTable.DataColumn_7.DateTimeMode+DataTable.DataColumn_7.AutoIncrementCurrent!DataTable.DataColumn_7.Expression)DataTable.DataColumn_7.ExtendedProperties!DataTable.DataColumn_8.ColumnName DataTable.DataColumn_8.NamespaceDataTable.DataColumn_8.Prefix$DataTable.DataColumn_8.ColumnMapping"DataTable.DataColumn_8.AllowDBNull$DataTable.DataColumn_8.AutoIncrement(DataTable.DataColumn_8.AutoIncrementStep(DataTable.DataColumn_8.AutoIncrementSeedDataTable.DataColumn_8.Caption#DataTable.DataColumn_8.DefaultValueDataTable.DataColumn_8.ReadOnly DataTable.DataColumn_8.MaxLengthDataTable.DataColumn_8.DataType"DataTable.DataColumn_8.XmlDataType!DataTable.DataColumn_8.SimpleType#DataTable.DataColumn_8.DateTimeMode+DataTable.DataColumn_8.AutoIncrementCurrent!DataTable.DataColumn_8.Expression)DataTable.DataColumn_8.ExtendedProperties!DataTable.DataColumn_9.ColumnName DataTable.DataColumn_9.NamespaceDataTable.DataColumn_9.Prefix$DataTable.DataColumn_9.ColumnMapping"DataTable.DataColumn_9.AllowDBNull$DataTable.DataColumn_9.AutoIncrement(DataTable.DataColumn_9.AutoIncrementStep(DataTable.DataColumn_9.AutoIncrementSeedDataTable.DataColumn_9.Caption#DataTable.DataColumn_9.DefaultValueDataTable.DataColumn_9.ReadOnly DataTable.DataColumn_9.MaxLengthDataTable.DataColumn_9.DataType"DataTable.DataColumn_9.XmlDataType!DataTable.DataColumn_9.SimpleType#DataTable.DataColumn_9.DateTimeMode+DataTable.DataColumn_9.AutoIncrementCurrent!DataTable.DataColumn_9.Expression)DataTable.DataColumn_9.ExtendedProperties"DataTable.DataColumn_10.ColumnName!DataTable.DataColumn_10.NamespaceDataTable.DataColumn_10.Prefix%DataTable.DataColumn_10.ColumnMapping#DataTable.DataColumn_10.AllowDBNull%DataTable.DataColumn_10.AutoIncrement)DataTable.DataColumn_10.AutoIncrementStep)DataTable.DataColumn_10.AutoIncrementSeedDataTable.DataColumn_10.Caption$DataTable.DataColumn_10.DefaultValue DataTable.DataColumn_10.ReadOnly!DataTable.DataColumn_10.MaxLength DataTable.DataColumn_10.DataType#DataTable.DataColumn_10.XmlDataType"DataTable.DataColumn_10.SimpleType$DataTable.DataColumn_10.DateTimeMode,DataTable.DataColumn_10.AutoIncrementCurrent"DataTable.DataColumn_10.Expression*DataTable.DataColumn_10.ExtendedPropertiesDataTable_0.ConstraintsDataTable_0.Rows.CountDataTable_0.Records.CountDataTable_0.RowStatesDataTable_0.RecordsDataTable_0.NullBitsDataTable_0.RowErrorsDataTable_0.ColumnErrors System.VersionSystem.Data.SerializationFormat& System.Data.PropertyCollection& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Data.MappingType& System.UnitySerializationHolderSystem.UnitySerializationHolderSystem.Data.DataSetDateTime& System.Collections.ArrayListSystem.Collections.BitArraySystem.Collections.ArrayListSystem.Collections.ArrayListSystem.Collections.HashtableSystem.Collections.Hashtable& ( System.Data.SerializationFormat value__ & * * * 2 * + , Index
* System.Data.MappingType value__ & , 0 1 *
System.Data.DataSetDateTime value__ & *
4 Selected
* 4 0 9 *
*
< Time
* < 0 A *
*
D EventName
* D 0 A *
*
L
EventNameInfo
* L 0 A *
*
T EventNameWithoutInfo
* T 0 A *
*
Round
* 0 A *
*
d
EventRound
* d 0 A *
*
l Classes
* l 0 A *
*
t ClassesShort
* t 0 A *
*
| CombinedName
* | 0 A *
} *
( System.Version _Major_Minor_Build _Revision + System.Data.PropertyCollection
LoadFactorVersionComparerHashCodeProviderHashSizeKeysValues System.Collections.IComparer$System.Collections.IHashCodeProvider& Q8?
0 System.UnitySerializationHolder Data UnityTypeAssemblyName
* 1 0 System.Int32 Kmscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=yesthisisapublictoken9 0 System.Boolean A 0
System.String System.Collections.ArrayList _items_size_version System.Collections.BitArray m_arraym_length_version System.Collections.Hashtable
LoadFactorVersionComparerHashCodeProviderHashSizeKeysValues System.Collections.IComparer$System.Collections.IHashCodeProviderQ8?
Q8?
$I
10:30 10:30 10:40 11:00 11:00 11:00 11:00 11:00 EventNameNumber1
EventNameNumber2 EventNameNumber3 EventNameNumber4 EventNameNumber5 EventNameNumber6 EventNameNumber7 EventNameNumber8
Round1 Round2
Round3 Round4 Round5 Round6 Round7 Round8 EventRound1 EventRound2 EventRound3
EventRound4 EventRound5 EventRound6 EventRound7 EventRound8 Classes1 Classes2 Classes3 Classes4
Classes5
Classes6
Classes7
Classes8 ClassesShort1 ClassesShort2 ClassesShort3 ClassesShort4 ClassesShort5 ClassesShort6 ClassesShort7 ClassesShort8 CombinedName1 CombinedName2 CombinedName3 CombinedName4 "CombinedName5 "CombinedName6 !CombinedName7 !CombinedName8
I tried using patterns, but I can’t predict the content, I need a solution that is independent from the content of the table (tho still letters, number, etc. but no gibberish).