亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? packetstp.cs

?? 一個抓包工具
?? CS
字號:
using System;
using System.Windows.Forms;

namespace MyClasses
{

	public class PacketSTP
	{

		public struct PACKET_STP
		{
			public ushort ProtocolIdentifier;
			public string ProtocolIdentifierStr;
			public byte   ProtocolVersionIdentifier;
			public string ProtocolVersionIdentifierStr;
			public byte   BPDUType;
			public string BPDUTypeStr;
			public byte   BPDUFlags;
			public ushort RootIdentifier;
			public string RootIdentifierStr;
			public uint   RootPathCost;
			public ushort BridgeIdentifier;
			public string BridgeIdentifierStr;
			public ushort PortIdentifier;
			public ushort MessageAge;
			public ushort MaxAge;
			public ushort HelloTime;
			public ushort ForwardDelay;
		}


		public PacketSTP()
		{
		}

		public static string GetProtocolIdString( ushort u )
		{
			string Tmp = "";

			switch( u )
			{
				case	Const.PROTOCOL_ID_STP	: Tmp = "Spanning Tree Protocol"; break;
			}

			return Tmp;
		}

		public static string GetProtocolVersionIdString( byte u )
		{
			string Tmp = "";

			switch( u )
			{
				case	Const.PROTOCOL_VERSION_ID_ST	: Tmp = "Spanning Tree"; break;
			}

			return Tmp;
		}

		public static string GetBPDUTypeString( byte u )
		{
			string Tmp = "";

			switch( u )
			{
				case	Const.BPDU_TYPE_CONFIGURATION	: Tmp = "Configuration"; break;
			}

			return Tmp;
		}


		public static bool Parser( ref TreeNodeCollection mNode, 
			byte [] PacketData , 
			ref int Index , 
			ref ListViewItem LItem )
		{
			TreeNode mNodex;
			TreeNode mNode1;
			string Tmp = "";
			PACKET_STP PStp;

			mNodex = new TreeNode();
			mNodex.Text = "STP ( Spanning Tree Protocol )";
			Function.SetPosition( ref mNodex , Index , Const.LENGTH_OF_STP , true );
	
			if( ( Index + Const.LENGTH_OF_STP ) > PacketData.Length )
			{
				mNode.Add( mNodex );
				Tmp = "[ Malformed STP packet. Remaining bytes don't fit an STP packet. Possibly due to bad decoding ]";
				mNode.Add( Tmp );
				LItem.SubItems[ Const.LIST_VIEW_INFO_INDEX ].Text = Tmp;
				
				return false;
			}

			try
			{
				PStp.ProtocolIdentifier = Function.Get2Bytes( PacketData , ref Index , Const.NORMAL );
				Tmp = "Protocol Identifier :" + Function.ReFormatString( PStp.ProtocolIdentifier , GetProtocolIdString(PStp.ProtocolIdentifier ) );
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 2 , 2 , false );

				PStp.ProtocolVersionIdentifier = PacketData[ Index ++ ];
				Tmp = "Protocol Version Identifier :" + Function.ReFormatString( PStp.ProtocolVersionIdentifier , GetProtocolVersionIdString(PStp.ProtocolVersionIdentifier ) );
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 1 , 1 , false );

				PStp.BPDUType = PacketData[ Index ++ ];
				Tmp = "BPDU Type :" + Function.ReFormatString( PStp.BPDUType , GetBPDUTypeString(PStp.BPDUType ) );
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 1 , 1 , false );

				PStp.BPDUFlags = PacketData[ Index ++ ];
				mNode1 = new TreeNode();
				Function.SetPosition( ref mNode1 , Index - 1 , 1 , true );
				mNode1.Text = "BPDU Flags :" + Function.ReFormatString( PStp.BPDUFlags , null );
				mNode1.Nodes.Add( Function.DecodeBitField( PStp.BPDUFlags , 0x80 , "Topology Change Acknowledgment : Yes" , "Topology Change Acknowledgment : No" ) );
				Function.SetPosition( ref mNode1 , Index - 1 , 1 , false );
				mNode1.Nodes.Add( Function.DecodeBitField( PStp.BPDUFlags , 0x01 , "Topology Change : Yes" , "Topology Change : No" ) );
				Function.SetPosition( ref mNode1 , Index - 1 , 1 , false );
				mNodex.Nodes.Add( mNode1 );

				PStp.RootIdentifier = Function.Get2Bytes( PacketData , ref Index , Const.NORMAL );
				PStp.RootIdentifierStr = Function.GetMACAddress( PacketData , ref Index );
				Tmp = "Root Identifier :" + PStp.RootIdentifier.ToString() + " , " + PStp.RootIdentifierStr;
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 8 , 8 , false );

				PStp.RootPathCost = Function.Get4Bytes( PacketData , ref Index , Const.NORMAL );
				Tmp = "Root Path Cost :" + Function.ReFormatString( PStp.RootPathCost , null );
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 4 , 4 , false );

				PStp.BridgeIdentifier = Function.Get2Bytes( PacketData , ref Index , Const.NORMAL );
				PStp.BridgeIdentifierStr = Function.GetMACAddress( PacketData , ref Index );
				Tmp = "Bridge Identifier :" + PStp.BridgeIdentifier.ToString() + " , " + PStp.BridgeIdentifierStr;
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 8 , 8 , false );

				PStp.PortIdentifier = Function.Get2Bytes( PacketData , ref Index , Const.NORMAL );
				Tmp = "Port Identifier :" + Function.ReFormatString( PStp.PortIdentifier , null );
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 2 , 2 , false );

				PStp.MessageAge = Function.Get2Bytes( PacketData , ref Index , Const.VALUE );
				Tmp = "Message Age :" + Function.ReFormatString( PStp.MessageAge , null );
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 2 , 2 , false );

				PStp.MaxAge = Function.Get2Bytes( PacketData , ref Index , Const.VALUE );
				Tmp = "Max Age :" + Function.ReFormatString( PStp.MaxAge , null );
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 2 , 2 , false );

				PStp.HelloTime = Function.Get2Bytes( PacketData , ref Index , Const.VALUE );
				Tmp = "Hello Time :" + Function.ReFormatString( PStp.HelloTime , null );
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 2 , 2 , false );

				PStp.ForwardDelay = Function.Get2Bytes( PacketData , ref Index , Const.VALUE );
				Tmp = "Forward Delay :" + Function.ReFormatString( PStp.ForwardDelay , null );
				mNodex.Nodes.Add( Tmp );
				Function.SetPosition( ref mNodex , Index - 2 , 2 , false );
				
				LItem.SubItems[ Const.LIST_VIEW_PROTOCOL_INDEX ].Text = "STP";
				LItem.SubItems[ Const.LIST_VIEW_INFO_INDEX ].Text = "STP protocol";

				mNode.Add( mNodex );
				
			}
			catch( Exception Ex )
			{
				mNode.Add( mNodex );
				Tmp = "[ Malformed STP packet. Remaining bytes don't fit an STP packet. Possibly due to bad decoding ]";
				mNode.Add( Tmp );
				Tmp = "[ Exception raised is <" + Ex.GetType().ToString() + "> at packet index <" + Index.ToString() + "> ]";
				mNode.Add( Tmp );
				LItem.SubItems[ Const.LIST_VIEW_INFO_INDEX ].Text = "[ Malformed STP packet. Remaining bytes don't fit an STP packet. Possibly due to bad decoding ]";

				return false;
			}

			return true;

		}

		public static bool Parser( byte [] PacketData , 
			ref int Index , 
			ref ListViewItem LItem )
		{
			string Tmp = "";
			PACKET_STP PStp;

			if( ( Index + Const.LENGTH_OF_STP ) > PacketData.Length )
			{
				Tmp = "[ Malformed STP packet. Remaining bytes don't fit an STP packet. Possibly due to bad decoding ]";
				LItem.SubItems[ Const.LIST_VIEW_INFO_INDEX ].Text = Tmp;
				
				return false;
			}

			try
			{
				PStp.ProtocolIdentifier = Function.Get2Bytes( PacketData , ref Index , Const.NORMAL );
				PStp.ProtocolVersionIdentifier = PacketData[ Index ++ ];
				PStp.BPDUType = PacketData[ Index ++ ];
				PStp.BPDUFlags = PacketData[ Index ++ ];
				PStp.RootIdentifier = Function.Get2Bytes( PacketData , ref Index , Const.NORMAL );
				PStp.RootIdentifierStr = Function.GetMACAddress( PacketData , ref Index );
				PStp.RootPathCost = Function.Get4Bytes( PacketData , ref Index , Const.NORMAL );
				PStp.BridgeIdentifier = Function.Get2Bytes( PacketData , ref Index , Const.NORMAL );
				PStp.BridgeIdentifierStr = Function.GetMACAddress( PacketData , ref Index );
				PStp.PortIdentifier = Function.Get2Bytes( PacketData , ref Index , Const.NORMAL );
				PStp.MessageAge = Function.Get2Bytes( PacketData , ref Index , Const.VALUE );
				PStp.MaxAge = Function.Get2Bytes( PacketData , ref Index , Const.VALUE );
				PStp.HelloTime = Function.Get2Bytes( PacketData , ref Index , Const.VALUE );
				PStp.ForwardDelay = Function.Get2Bytes( PacketData , ref Index , Const.VALUE );

				LItem.SubItems[ Const.LIST_VIEW_PROTOCOL_INDEX ].Text = "STP";
				LItem.SubItems[ Const.LIST_VIEW_INFO_INDEX ].Text = "STP protocol";

			}
			catch
			{
				LItem.SubItems[ Const.LIST_VIEW_INFO_INDEX ].Text = "[ Malformed STP packet. Remaining bytes don't fit an STP packet. Possibly due to bad decoding ]";

				return false;
			}

			return true;

		}

	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线不卡国产视频| 精品成人私密视频| 国产成人精品免费视频网站| 久久精品国产精品亚洲精品| 亚洲国产精品一区二区久久 | 一区二区三区毛片| 一区二区三区精品久久久| 亚洲欧洲三级电影| 亚洲日本乱码在线观看| 自拍偷在线精品自拍偷无码专区| 国产精品久久久久久亚洲毛片 | 色悠悠亚洲一区二区| 一本一道波多野结衣一区二区| 一本久道久久综合中文字幕| 在线观看国产一区二区| 欧美精品在线观看播放| 日韩免费观看高清完整版| 欧美xfplay| 国产精品乱码一区二区三区软件| 国产精品久久久久影院色老大| 亚洲色图在线看| 亚洲成av人片一区二区| 秋霞国产午夜精品免费视频| 激情五月婷婷综合| av午夜一区麻豆| 3atv一区二区三区| 国产亚洲欧美日韩日本| 亚洲精品中文在线| 日日摸夜夜添夜夜添国产精品| 激情六月婷婷久久| 成人app软件下载大全免费| 欧洲日韩一区二区三区| 91精品婷婷国产综合久久性色| 欧美精品一区二区三区很污很色的| 国产亚洲成aⅴ人片在线观看| 亚洲激情五月婷婷| 久久精品国产免费| 色噜噜狠狠一区二区三区果冻| 91精品国产综合久久精品app| 久久人人97超碰com| 一区二区三区在线视频免费 | 亚洲一二三四区| 久久国产尿小便嘘嘘| 色综合天天综合| 日韩欧美三级在线| 亚洲已满18点击进入久久| 狠狠色狠狠色综合| 日本二三区不卡| 国产偷国产偷精品高清尤物 | 国产成a人无v码亚洲福利| 欧美综合一区二区| 国产精品不卡一区二区三区| 免费成人深夜小野草| 在线观看亚洲精品视频| 国产精品妹子av| 久久成人综合网| 欧洲精品一区二区三区在线观看| 欧美极品美女视频| 精品一区二区三区在线观看国产| 精品视频一区二区三区免费| 亚洲欧美在线视频| 岛国av在线一区| 26uuu精品一区二区| 美女网站在线免费欧美精品| 色婷婷狠狠综合| 成人欧美一区二区三区黑人麻豆| 国产呦精品一区二区三区网站| 欧美日本一区二区在线观看| 亚洲精品成人悠悠色影视| 99国产精品久| 国产精品午夜电影| 成人免费视频一区| 中文字幕成人网| 国产精品99久久久| 国产亚洲精品bt天堂精选| 韩国v欧美v亚洲v日本v| 日韩欧美国产综合一区 | 亚洲精品在线观| 激情丁香综合五月| 国产日产精品1区| 国产精品一级片| 国产性天天综合网| 国产成人一区在线| 亚洲欧洲日产国产综合网| 成人av在线一区二区三区| 国产精品午夜电影| 色屁屁一区二区| 亚洲国产欧美一区二区三区丁香婷| 在线视频一区二区三区| 亚洲成人中文在线| 91精品国产免费| 国产在线一区二区综合免费视频| 日韩美一区二区三区| 国产一区二区不卡| 国产精品的网站| 欧美日韩综合不卡| 久久精品国产第一区二区三区| 久久久精品影视| 在线观看一区不卡| 久久精品国产77777蜜臀| 国产片一区二区| 欧美网站一区二区| 国产精品一区二区91| 亚洲精品久久久蜜桃| 日韩欧美国产一区二区在线播放 | 国内精品国产三级国产a久久| 亚洲国产成人私人影院tom| 色狠狠色狠狠综合| 久久精品噜噜噜成人av农村| 国产精品免费丝袜| 欧美美女bb生活片| 国产综合久久久久久久久久久久| 久久青草欧美一区二区三区| 国产成人精品一区二区三区四区 | 国产激情视频一区二区在线观看 | 日韩精品欧美精品| 欧美一区二区播放| 97精品国产97久久久久久久久久久久 | 久久久久成人黄色影片| 色88888久久久久久影院野外| 亚洲综合免费观看高清完整版 | 一本色道久久综合亚洲精品按摩 | 欧美日韩国产精品成人| 精品一区二区免费| 亚洲色图.com| 色呦呦日韩精品| 国产91在线看| 亚洲综合小说图片| 在线看日本不卡| 亚洲国产美国国产综合一区二区| 日韩美女一区二区三区四区| 成人在线视频首页| 日韩综合一区二区| 精品国产乱码久久久久久影片| 欧美日韩黄视频| 成人性生交大合| 国产精品国产精品国产专区不片| 欧美日韩国产免费一区二区| 国产乱妇无码大片在线观看| 国产人伦精品一区二区| 日韩视频在线你懂得| 色老汉一区二区三区| 国内一区二区视频| 亚洲午夜精品网| 欧美国产亚洲另类动漫| 欧美日韩美少妇| 粉嫩在线一区二区三区视频| 日韩av中文字幕一区二区三区| 日韩美女视频一区| 久久天天做天天爱综合色| 欧美女孩性生活视频| 91美女片黄在线观看91美女| av资源网一区| 国产精品99久久久久久久女警| 日本麻豆一区二区三区视频| 亚洲伊人色欲综合网| 中文字幕日本不卡| 中文字幕日韩一区| 国产人久久人人人人爽| 精品国产乱码久久久久久蜜臀| 欧美电影精品一区二区| 欧美成人午夜电影| 欧美久久免费观看| 欧美系列一区二区| 91在线免费播放| 在线精品视频免费播放| 色先锋资源久久综合| 99国内精品久久| 91在线精品一区二区三区| 国产成人无遮挡在线视频| 国产精品自拍网站| 黄一区二区三区| 国精产品一区一区三区mba桃花| 日韩中文字幕麻豆| 国产激情视频一区二区三区欧美 | 欧美高清视频www夜色资源网| 成人av综合一区| 欧美日韩中文字幕一区二区| 欧美视频精品在线观看| 欧美福利电影网| 在线91免费看| 久久夜色精品一区| 国产精品久久久久影院| 亚洲欧洲日韩女同| 伊人一区二区三区| 日本欧美大码aⅴ在线播放| 久国产精品韩国三级视频| 免费不卡在线视频| 国产99久久久精品| 成人av电影在线网| 日韩欧美国产午夜精品| 久久久久久毛片| 亚洲特黄一级片| 亚洲综合色视频| 国产91精品露脸国语对白| 成人高清免费观看| 欧美日韩精品一区二区| 久久综合成人精品亚洲另类欧美 | 午夜a成v人精品| 精品在线一区二区|