[计算机网络原理]c#实现网络抓包及协议分析

欢迎光临我的博客

网络数据包捕获是进行网络分析的基础,
SharpPcap 是一个.NET 环境下的网络包捕获框架,基于著名的 pcap/WinPcap 库开发,提供了捕获、注入、分析和构建的功能,适用于 C# 和 VB NET 开发语言。本次设计我们实现了如何在 VS 环境下借助 WinPcap以及Sharppcap 提供的各个接口函数对网卡进行编程进而对网络数据包进行捕获和分析的方法,突出叙述了数据包捕获在网络分析中的应用

主界面设计(随意)

在这里插入图片描述

抓包代码


    public partial class MainWindow : Form
    {
   
        private CaptureDeviceList devices;        //接口列表
        public static string[] name = new string[100];      //接口名称
        public static int Selectid=-1;        //用于捕获的接口的索引
        string NowIP="";        //当前接口的IP地址
        public static DeviceMode mode;        //捕获模式
        public bool State=false;          //状态(1正在捕获,1未打开)


        private BindingSource BS=new BindingSource();        //DataGridView数据绑定
        List<ParketAnalysis> listAn = new List<ParketAnalysis>();     //分析数据包容器
        private List<ParketStatistics> listSs = new List<ParketStatistics>();       //统计数据包容器
        public static Dictionary<string, int> SendCnt = new Dictionary<string, int>();       //用于统计发送到某个IP地址包的数目
        public static Dictionary<string, int> ReceiveCnt = new Dictionary<string, int>();       //用于统计接收某个IP地址包的数目
        int No = 0;     //数据包包编号
        object Lock=new object();//线程锁

        //过滤部分
        string Filter="";      //过滤字段
        string FilterIP = "";   //过滤IP


        public MainWindow()
        {
   
            InitializeComponent();
            CheckForIllegalCrossThreadCalls = false;
        }

        //配置
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
   
            
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值