0
Sharppcapを使用してパケットをスニッフィングしようとしています。SharppcapのSharppcapチュートリアルをよくお読みになり、codeprojectのextract()
メソッドをCaptureEventArgs.Packet
に呼び出しようとしています。 extract()
メソッドのような実装はありません。 コード:CaptureEventArgs.Packetの抽出方法がありません
using PacketDotNet;
using SharpPcap;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace SnifferGUI
{
class ProjectBehaviour
{
public void Initsniff()
{
CaptureDeviceList captureDeviceList = CaptureDeviceList.Instance;
if(captureDeviceList.Count < 1)
{
throw new InsufficientExecutionStackException();
}
ICaptureDevice device = captureDeviceList[1]; //todo
device.OnPacketArrival += new SharpPcap.PacketArrivalEventHandler(device_OnPacketArrival);
device.Open(DeviceMode.Promiscuous, 0);
device.StartCapture();
}
private void device_OnPacketArrival(object sender, CaptureEventArgs e)
{
var tcp = (TcpPacket)e.Packet.Extract(typeof(TcpPacket)); //According to the tutorial, this is a valid expression.
}
}
}
これで私の目標は、私はさらなる進行のためにTcpPacketに受信したパケットを解析することです。ソース/宛先IPとポート、タイムスタンプなどを保存して表示したい。 だから、私は何か不足していますか?