⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formpacanal.cs

📁 一个抓包工具
💻 CS
📖 第 1 页 / 共 2 页
字号:
				CapDisplay.LVw = LVwReceivedPackets;
				CapDisplay.Rtx = RtxPacketData;
				CapDisplay.Tnc = TVwPacketDetails.Nodes;
				CapDisplay.Show();
			}

			LVwReceivedPackets.Sorting = SortOrder.Ascending;
			LVwReceivedPackets.ListViewItemSorter = TheColumnSorter;

		}

		private void MenuFileExit_Click(object sender, System.EventArgs e)
		{
			Application.Exit();
		}

		private void MenuFileOpen_Click(object sender, System.EventArgs e)
		{
			LVwReceivedPackets.Items.Clear();
			DlgOpen.ShowDialog(this);
			
			if( DlgOpen.FileName != "" )
			{
				LVwReceivedPackets.ListViewItemSorter = null;
				LVwReceivedPackets.Sorting = SortOrder.None;
				CurrentFileNameForLoad = DlgOpen.FileName;
				P32.LoadFromFile( CurrentFileNameForLoad );
				P32.PParser.LVw = LVwReceivedPackets;
				P32.PParser.Rtx = RtxPacketData;
				P32.PParser.mNode = TVwPacketDetails.Nodes;
				P32.PParser.PacketOnOff = false;
				P32.PParser.mDisplayOptions = P32.DisplayOptions;
				P32.PParser.mCaptureOptions = P32.CaptureOptions;
				P32.PParser.PreviousHttpSequence = 0;
				P32.PParser.LastTftpPort = 0xffff;
				P32.PParser.Parse();
				LVwReceivedPackets.Sorting = SortOrder.Ascending;
				LVwReceivedPackets.ListViewItemSorter = TheColumnSorter;
			}
		}

		private void MenuFileSave_Click(object sender, System.EventArgs e)
		{
			if( CurrentFileNameForSave != "" )
			{
				P32.SaveToFile( CurrentFileNameForSave );
			}
			else
			{
				DlgSave.ShowDialog(this);
				if( DlgSave.FileName != "" )
				{
					CurrentFileNameForSave = DlgSave.FileName;
					P32.SaveToFile( CurrentFileNameForSave );
				}
			}
		
		}

		private void FormMain_Load(object sender, System.EventArgs e)
		{
			CurrentFileNameForLoad = "";
			CurrentFileNameForSave = "";
			OriginalX = ((Form)this).Width;
			OriginalY = ((Form)this).Height;
			IsFormLoaded = true;

			Function.MakeFont( (int) RtxPacketData.Handle );
			Function.MakeFont( (int) LVwReceivedPackets.Handle );
			Function.MakeFont( (int) TVwPacketDetails.Handle );

			LVwReceivedPackets.ListViewItemSorter = TheColumnSorter;

		}


		private void MenuFileSaveAs_Click(object sender, System.EventArgs e)
		{
			DlgSave.ShowDialog(this);

			if( DlgSave.FileName != "" )
			{
				CurrentFileNameForSave = DlgSave.FileName;
				P32.SaveToFile( CurrentFileNameForSave );
			}
		
		}

		private void MenuFileReload_Click(object sender, System.EventArgs e)
		{
			if( CurrentFileNameForLoad == "" ) return;

			LVwReceivedPackets.ListViewItemSorter = null;
			LVwReceivedPackets.Sorting = SortOrder.None;
			P32.LoadFromFile( CurrentFileNameForLoad );
			P32.PParser.LVw = LVwReceivedPackets;
			P32.PParser.Rtx = RtxPacketData;
			P32.PParser.mNode = TVwPacketDetails.Nodes;
			P32.PParser.PacketOnOff = false;
			P32.PParser.mDisplayOptions = P32.DisplayOptions;
			P32.PParser.mCaptureOptions = P32.CaptureOptions;
			P32.PParser.PreviousHttpSequence = 0;
			P32.PParser.LastTftpPort = 0xffff;
			P32.PParser.Parse();
			LVwReceivedPackets.Sorting = SortOrder.Ascending;
			LVwReceivedPackets.ListViewItemSorter = TheColumnSorter;
		
		}

		private void LVwReceivedPackets_Click(object sender, System.EventArgs e)
		{
			ListViewItem LItem;

			if( LVwReceivedPackets.SelectedItems == null ) return;
			if( LVwReceivedPackets.SelectedItems.Count == 0 ) return;

			try
			{
				LItem = LVwReceivedPackets.SelectedItems[ LVwReceivedPackets.SelectedItems.Count - 1 ];
				P32.PParser.mDisplayOptions = P32.DisplayOptions;
				P32.PParser.mCaptureOptions = P32.CaptureOptions;
				P32.PParser.ParseSingle( ref LItem  );
			}
			catch ( Exception Ex )
			{
				MessageBox.Show( Function.ReturnErrorMessage( Ex ) );
			}


		}

		private void LVwReceivedPackets_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
		{
			ListViewItem LItem;

			if( LVwReceivedPackets.SelectedItems == null ) return;
			if( LVwReceivedPackets.SelectedItems[0] == null ) return;

			try
			{
				LItem = LVwReceivedPackets.SelectedItems[0];
				P32.PParser.mDisplayOptions = P32.DisplayOptions;
				P32.PParser.mCaptureOptions = P32.CaptureOptions;
				P32.PParser.ParseSingle( ref LItem  );
			}
			catch ( Exception Ex )
			{
				MessageBox.Show( Function.ReturnErrorMessage( Ex ) );
			}

		}

		private void LVwReceivedPackets_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
		{
			ListViewItem LItem;

			if( LVwReceivedPackets.SelectedItems == null ) return;
			if( LVwReceivedPackets.SelectedItems[0] == null ) return;

			try
			{
				LItem = LVwReceivedPackets.SelectedItems[0];
				P32.PParser.mDisplayOptions = P32.DisplayOptions;
				P32.PParser.mCaptureOptions = P32.CaptureOptions;
				P32.PParser.ParseSingle( ref LItem  );
			}
			catch ( Exception Ex )
			{
				MessageBox.Show( Function.ReturnErrorMessage( Ex ) );
			}


		}

		private void FormMain_Resize(object sender, System.EventArgs e)
		{
			int CurrentX = 0, CurrentY = 0;
			int dtX = 0, dtY = 0;

			if( ! IsFormLoaded ) return;

			if( ((Form)this).WindowState == FormWindowState.Minimized ) return;

			CurrentX = ((Form)this).Width;
			CurrentY = ((Form)this).Height;

			dtX = CurrentX - OriginalX;
			dtY = CurrentY - OriginalY;
			dtY /= 3;

			LVwReceivedPackets.Width += dtX;
			TVwPacketDetails.Width += dtX;
			RtxPacketData.Width += dtX;

			LVwReceivedPackets.Height += dtY;
			TVwPacketDetails.Height += dtY;
			TVwPacketDetails.Location = new Point( new Size( TVwPacketDetails.Location.X , TVwPacketDetails.Location.Y + dtY ) );

			RtxPacketData.Height += dtY;
			RtxPacketData.Location = new Point( new Size( RtxPacketData.Location.X , RtxPacketData.Location.Y + 2 * dtY ) );

			TVwPacketDetails.Refresh();
			LVwReceivedPackets.Refresh();
			RtxPacketData.Refresh();

			OriginalX = ((Form)this).Width;
			OriginalY = ((Form)this).Height;
		
		}

		private void LVwReceivedPackets_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
		{
			int ClickedColumn = e.Column;

			switch( ClickedColumn )
			{
				case 0	: 
					TheColumnSorter.CaseSensitivity = true;
					TheColumnSorter.Direction = TheColumnSorter.Direction == 0 ? 1 : 0;
					TheColumnSorter.ColumnType = 0;
					TheColumnSorter.CurrentColumn = 0;
					break;
				case 1	: 
					TheColumnSorter.CaseSensitivity = true;
					TheColumnSorter.Direction = TheColumnSorter.Direction == 0 ? 1 : 0;
					TheColumnSorter.ColumnType = 1;
					TheColumnSorter.CurrentColumn = 1;
					break;
				case 2	: 
					TheColumnSorter.CaseSensitivity = true;
					TheColumnSorter.Direction = TheColumnSorter.Direction == 0 ? 1 : 0;
					TheColumnSorter.ColumnType = 2;
					TheColumnSorter.CurrentColumn = 2;
					break;
				case 3	: 
					TheColumnSorter.CaseSensitivity = true;
					TheColumnSorter.Direction = TheColumnSorter.Direction == 0 ? 1 : 0;
					TheColumnSorter.ColumnType = 2;
					TheColumnSorter.CurrentColumn = 3;
					break;
				case 4	: 
					TheColumnSorter.CaseSensitivity = true;
					TheColumnSorter.Direction = TheColumnSorter.Direction == 0 ? 1 : 0;
					TheColumnSorter.ColumnType = 2;
					TheColumnSorter.CurrentColumn = 4;
					break;
				case 5	: 
					TheColumnSorter.CaseSensitivity = true;
					TheColumnSorter.Direction = TheColumnSorter.Direction == 0 ? 1 : 0;
					TheColumnSorter.ColumnType = 2;
					TheColumnSorter.CurrentColumn = 5;
					break;
			}

			LVwReceivedPackets.Sort();

		}

		private void MenuFileSaveSelectedPacket_Click(object sender, System.EventArgs e)
		{
			string PacketFile = "";
			int [] indexArray;
			int i = 0;

			if( LVwReceivedPackets.SelectedItems == null ) return;
			if( LVwReceivedPackets.SelectedItems.Count == 0 ) return;

			try
			{
				if( LVwReceivedPackets.SelectedItems.Count == 1 )
				{
					DlgSave.ShowDialog(this);
					if( DlgSave.FileName != "" )
					{
						PacketFile = DlgSave.FileName;
						int index = int.Parse( LVwReceivedPackets.SelectedItems[0].Text );
						P32.SaveSelectedPacket( PacketFile , index );
					}
				}
				else
				{
					DlgSave.ShowDialog(this);
					if( DlgSave.FileName != "" )
					{
						PacketFile = DlgSave.FileName;
						indexArray = new int[LVwReceivedPackets.SelectedItems.Count];
						for( i = 0; i < indexArray.Length; i ++ )
							indexArray[i] = int.Parse( LVwReceivedPackets.SelectedItems[i].Text );

						P32.SaveSelectedPacket( PacketFile , indexArray );
					}

				}

			}
			catch ( Exception Ex )
			{
				MessageBox.Show( Function.ReturnErrorMessage( Ex ) );
			}

		
		}

		private void TVwPacketDetails_Click(object sender, System.EventArgs e)
		{
			TreeNode mNode;

			mNode = TVwPacketDetails.GetNodeAt( MouseX , MouseY );
			if( mNode == null ) return;

			Function.HighlightText( RtxPacketData , mNode );

		}

		private void TVwPacketDetails_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
		{
		
			MouseX = e.X;
			MouseY = e.Y;
		}

		private void RtxPacketData_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
		{
			System.Drawing.Point Pt = new System.Drawing.Point( e.X, e.Y );

			Function.ReverseHighlightText( RtxPacketData , TVwPacketDetails , Pt );
		
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -