快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

C#如何实现抓包-创新互联

这篇文章主要讲解了C#如何实现抓包,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联公司是一家成都做网站、成都网站设计、成都外贸网站建设,提供网页设计,网站设计,网站制作,建网站,按需定制设计,网站开发公司,从2013年成立是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。

工具:SharpPcap 4.2.0

vs工程:控制台应用程序

关于C#抓包,我只找到SharpPcap 这个dll,相关的资料不多,而且都是挺老的,所以就顺手记一下自己的代码,给有同样需求的人一个参考吧。

当然,代码可能存在问题,请见谅。

一、获取连接设备

// 获取连接列表
CaptureDeviceList devices = CaptureDeviceList.Instance;

// 无连接
if (devices.Count < 1)
{
  Console.WriteLine("No devices were found on this machine");
  return;
}

Console.WriteLine("\n以下为本机连接:");
Console.WriteLine("--------------\n");

int j=0;
string temp = "";
Regex r = new Regex("FriendlyName: .*\n"); //匹配连接的FriendlyName
Match m;
// 打印连接设备
foreach (ICaptureDevice dev in devices)
{
  temp = dev.ToString();
  m = r.Match(temp);
  Console.WriteLine("{0}:{1}\n", j++, m.ToString());
}
Console.Write("输入设备号");
string input = Console.ReadLine();
int i = 0;
try
{
  i = Int32.Parse(input);
}
catch (Exception e)
{
  Console.WriteLine("非法输入!"+e.Message);
  return;
}
if (devices.Count < 1 || i == -1)
{
  Console.WriteLine("变量非法!");
  return;
}
// 得到指定连接设备
ICaptureDevice device = devices[i];

文章名称:C#如何实现抓包-创新互联
文章链接:http://6mz.cn/article/djcgoj.html

其他资讯