C#网络抓包MySniffer+WinPcap_中文技术文档


基于WinPcap 开发的网络抓包软件,自己开发了一部分功能。主要有: 链路层协议抓包:网络唤醒协议、链路层发现协议、PPPoE、PPPS、HDLC、LCP ppp链路控制协议、LinuxSLL 网络层协议抓包:Arp、IP、ICMP、IGMP、GRE协议 传输层协议抓包:UDP、TCP 应用层协议抓包: http 、smtp、 pop3 、ftp 、ssdp、DHCP、RIPv1/RIPv2 还有其他更多协议等待您的开发。
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SharpPcap;
using PacketDotNet;
using System.xml;
namespace MySniffer
{
    class DataBuilder
    {
        //标记当前数据是否有效

        #region 构建数据行
        /// 
        /// DataGridRow
        /// 

        /// 返回字符串数据
        public string[] Row(RawCapture rawPacket uint packetID)
        {
            string[] rows = new string[6];

            rows[0] = string.Format(“{0:D7}“ packetID);//编号
            rows[1] = “Unknown“;
            rows[2] = rawPacket.Data.Length.ToString();//数据长度bytes
            rows[3] = “--“;
            rows[4] = “--“;
            rows[5] = “--“;

            Packet packet = Packet.ParsePacket(rawPacket.linklayerType rawPacket.Data);

            EthernetPacket ep = EthernetPacket.GetEncapsulated(packet);
            if (ep != null)
            {
                rows[1] = “Ethernet(v2)“;
                rows[3] = Format.MacFormat(ep.SourceHwAddress.ToString());
                rows[4] = Format.MacFormat(ep.DestinationHwAddress.ToString());
                rows[5] = “[“ + ep.Type.ToString() + “]“;

                #region IP
                IpPacket ip = IpPacket.GetEncapsulated(packet);
                if (ip != null)
                {
                    if (ip.Version == IpVersion.IPv4)
                    {
                        rows[1] = “IPv4“;
                    }
                    else
                    {
                        rows[1] = “IPv6“;
                    }
                    rows[3] = ip.SourceAddress.ToString();
                    rows[4] = ip.DestinationAddress.ToString();
                    rows[5] = “[下层协议:“ + ip.NextHeader.ToString() + “] [版本:“ + ip.Version.ToString() + “]“;

                    TcpPacket tcp = TcpPacket.GetEncapsulated(packet);
                    if (tcp != null)
                    {
                        rows[1] = “TCP“;
                        rows[3] += “ [“ + tcp.SourcePort.ToString() + “]“;
                        rows[4] += “ [“ + tcp.DestinationPort.ToString() + “]“;
                     
                        return rows;
                    }
                    UdpPacket udp = UdpPacket.GetEncapsulated(packet);
                    if (udp != null)
                    {
                        rows[1] = “UDP“;
                        rows[3] += “ [“ + udp.SourcePort.ToString() + “]“;
                        rows[4] += “ [“ + udp.DestinationPort.ToString() + “]“;
                        return rows;
                    }

                    ICMPv4Packet icmpv4 = ICMPv4Packet.GetEncapsulated(packet);
                    if (icmpv4 != null)
                    {
                        rows[1] = “ICMPv4“;
                        rows[5] = “[校验:“ + icmpv4.Checksum.ToString() + “] [类型:“ + icmpv4.TypeCode.ToString() + “] [序列号:“ +

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-11 10:19  C#网络抓包MySniffer
     目录           0  2018-07-02 13:17  C#网络抓包MySnifferMySniffer
     目录           0  2018-07-02 13:17  C#网络抓包MySnifferMySnifferMySniffer
     文件        8312  2012-06-17 18:23  C#网络抓包MySnifferMySnifferMySnifferDataBuilder.cs
     文件        2577  2012-06-17 16:49  C#网络抓包MySnifferMySnifferMySnifferFormat.cs
     文件        1907  2012-06-21 20:42  C#网络抓包MySnifferMySnifferMySnifferHexConvert.cs
     文件       21151  2018-04-03 16:16  C#网络抓包MySnifferMySnifferMySnifferMainForm.Designer.cs
     文件       10146  2018-04-03 16:16  C#网络抓包MySnifferMySnifferMySnifferMainForm.cs
     文件       18896  2018-04-03 16:16  C#网络抓包MySnifferMySnifferMySnifferMainForm.resx
     文件        4486  2017-05-27 09:44  C#网络抓包MySnifferMySnifferMySnifferMySniffer.csproj
     文件       18600  2012-06-21 20:41  C#网络抓包MySnifferMySnifferMySnifferPacketInfoApp.cs
     文件       38687  2012-06-21 20:41  C#网络抓包MySnifferMySnifferMySnifferPacketInfobase.cs
     文件         493  2012-06-17 16:42  C#网络抓包MySnifferMySnifferMySnifferProgram.cs
     目录           0  2018-07-02 13:17  C#网络抓包MySnifferMySnifferMySnifferProperties
     文件        1350  2012-04-19 18:51  C#网络抓包MySnifferMySnifferMySnifferPropertiesAssemblyInfo.cs
     文件        2868  2012-04-19 18:51  C#网络抓包MySnifferMySnifferMySnifferPropertiesResources.Designer.cs
     文件        5612  2012-04-19 18:51  C#网络抓包MySnifferMySnifferMySnifferPropertiesResources.resx
     文件        1094  2012-04-19 18:51  C#网络抓包MySnifferMySnifferMySnifferPropertiesSettings.Designer.cs
     文件         249  2012-04-19 18:51  C#网络抓包MySnifferMySnifferMySnifferPropertiesSettings.settings
     目录           0  2018-07-02 13:17  C#网络抓包MySnifferMySnifferMySnifferin
     目录           0  2018-07-02 13:17  C#网络抓包MySnifferMySnifferMySnifferinDebug
     文件       71680  2018-04-03 16:16  C#网络抓包MySnifferMySnifferMySnifferinDebugMySniffer.exe
     文件       79360  2018-04-03 16:16  C#网络抓包MySnifferMySnifferMySnifferinDebugMySniffer.pdb
     文件       11608  2019-04-11 10:18  C#网络抓包MySnifferMySnifferMySnifferinDebugMySniffer.vshost.exe
     文件         490  2012-06-06 02:06  C#网络抓包MySnifferMySnifferMySnifferinDebugMySniffer.vshost.exe.manifest
     文件      211456  2012-06-23 20:46  C#网络抓包MySnifferMySnifferMySnifferinDebugPacketDotNet.dll
     文件       81920  2012-06-09 19:16  C#网络抓包MySnifferMySnifferMySnifferinDebugSharpPcap.dll
     文件       26624  2012-06-21 23:05  C#网络抓包MySnifferMySnifferMySnifferinDebugTwzyProtocol.dll
     目录           0  2019-04-11 10:19  C#网络抓包MySnifferMySnifferMySnifferinRelease
     目录           0  2018-07-02 13:17  C#网络抓包MySnifferMySnifferMySnifferobj
     目录           0  2018-07-02 13:17  C#网络抓包MySnifferMySnifferMySnifferobjx86
............此处省略16个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)