TCP, перехват пакетов: нужен пример - C#
Формулировка задачи:
Всем доброго времени...
Реально ли прослушивать тсп соединение посредством .net, ловить пакеты.?
Интересуют примеры с кодом.
Решение задачи: «TCP, перехват пакетов: нужен пример»
textual
Листинг программы
<Window x:Class="Sniffer.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="QZSniffer v1.00" Height="778" Width="900" MinWidth="900" MinHeight="500">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="370" />
<RowDefinition Height="30" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="373" />
<ColumnDefinition Width="476*" />
</Grid.ColumnDefinitions>
<DataGrid HorizontalAlignment="Stretch" Name="dataGrid1" VerticalAlignment="Stretch" AutoGenerateColumns="False" SelectionMode="Single" SelectionChanged="dataGrid1_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="Время" Binding="{Binding Path=Time}" IsReadOnly="True" />
<DataGridTextColumn Header="Отправитель" Binding="{Binding Path=IPSource}" IsReadOnly="True" />
<DataGridTextColumn Header="Получатель" Binding="{Binding Path=IPDestin}" IsReadOnly="True" />
<DataGridTextColumn Header="Длина" Binding="{Binding Path=DatagramLength}" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
<Grid Grid.Column="1" Name="grid1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Label Content="Классификатор DSCP" Grid.Row="6" Name="label1_DSCP" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Label Content="Идентификатор" Grid.Row="7" Name="label1_identificator" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Label Content="Флаги" Grid.Row="8" Name="label1_flags" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Label Content="TTL" Grid.Row="9" Name="label1_TTL" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Label Content="Код протокола" Grid.Row="12" Name="label1_protocol" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Label Content="Длина заголовка" Grid.Row="10" Name="label1_headerlength" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Label Content="Контрольная сумма" Grid.Row="11" Name="label1_checksum" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Label Content=" " Grid.Column="1" Grid.Row="6" HorizontalAlignment="Left" Name="label_DSCP" VerticalAlignment="Center" />
<Label Content=" " Grid.Column="1" Grid.Row="7" HorizontalAlignment="Left" Name="label_identificator" VerticalAlignment="Center" />
<Label Content=" " Grid.Column="1" Grid.Row="8" HorizontalAlignment="Left" Name="label_flags" VerticalAlignment="Center" />
<Label Content=" " Grid.Column="1" Grid.Row="9" HorizontalAlignment="Left" Name="label_TTL" VerticalAlignment="Center" />
<Label Content=" " Grid.Column="1" Grid.Row="12" HorizontalAlignment="Left" Name="label_protocol" VerticalAlignment="Center" />
<Label Content=" " Grid.Column="1" Grid.Row="10" HorizontalAlignment="Left" Name="label_headerlength" VerticalAlignment="Center" />
<Label Content=" " Grid.Column="1" Grid.Row="11" HorizontalAlignment="Left" Name="label_checksum" VerticalAlignment="Center" />
<Label Content="Содержимое заголовка IP" Grid.ColumnSpan="2" Name="label1" FontSize="15" FontStyle="Normal" FontFamily="{Binding}" HorizontalAlignment="Center" Foreground="#FFBA0000" />
<Grid Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" Name="grid3" VerticalAlignment="Stretch" ShowGridLines="False">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="52*" />
<ColumnDefinition Width="108*" />
<ColumnDefinition Width="79*" />
<ColumnDefinition Width="79*" />
<ColumnDefinition Width="79*" />
<ColumnDefinition Width="79*" />
</Grid.ColumnDefinitions>
<Label Content="Время" Name="label1_time" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,0,0" IsEnabled="True" />
<Label Content=" " Grid.Column="1" Grid.Row="1" HorizontalAlignment="Left" Name="label_time" VerticalAlignment="Center" />
<Label Content="Версия" Name="label1_version" VerticalAlignment="Center" HorizontalAlignment="Right" Grid.Column="2"/>
<Label Content=" " Grid.Column="3" HorizontalAlignment="Left" Name="label_version" VerticalAlignment="Center" />
<Label Content="Размер(байт)" Name="label1_totallength" VerticalAlignment="Center" HorizontalAlignment="Right" Grid.Column="4"/>
<Label Content=" " Grid.Column="5" HorizontalAlignment="Left" Name="label_totallength" VerticalAlignment="Center"/>
</Grid>
<Grid Grid.ColumnSpan="2" Grid.Row="2" Name="grid4" ShowGridLines="False">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="97*" />
<ColumnDefinition Width="155*" />
<ColumnDefinition Width="92*" />
<ColumnDefinition Width="161*" />
</Grid.ColumnDefinitions>
<Label Content="IP получателя" Name="label1_dest" VerticalAlignment="Center" HorizontalAlignment="Right" Grid.Column="2"/>
<Label Content=" " Grid.Column="3" HorizontalAlignment="Left" Name="label_dest" VerticalAlignment="Center" />
<Label Content="IP отправителя" Name="label1_source" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Label Content=" " Grid.Column="1" HorizontalAlignment="Left" Name="label_source" VerticalAlignment="Center" />
</Grid>
</Grid>
<RichTextBox Grid.Row="2" HorizontalAlignment="Stretch" Name="Buffertext" VerticalAlignment="Stretch" Grid.ColumnSpan="2" />
<Grid Grid.ColumnSpan="2" Grid.Row="1" HorizontalAlignment="Stretch" Name="grid2" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Content="Закрыть сокет" Grid.Column="8" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" Name="button1" VerticalAlignment="Stretch" Click="button1_Click" />
<Button Content="Открыть сокет" Grid.Column="10" Grid.ColumnSpan="2" Name="button2" Click="button2_Click" />
<Button Content="Очистить список" Grid.ColumnSpan="2" Name="button3" Click="button3_Click" />
</Grid>
</Grid>
</Window>