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

📄 packet32h.cs

📁 一个抓包工具
💻 CS
📖 第 1 页 / 共 5 页
字号:

		public bool PacketAllocatePacket( int newBufferSize )
		{
			if( mPacket.Buffer != 0 )
			{
				Marshal.FreeCoTaskMem( (IntPtr) mPacket.Buffer );
				mPacket.Buffer = 0;
				mPacket.Length = 0;
			}

			mPacketBufferSize = newBufferSize; 
			mPacket.Buffer = (int) Marshal.AllocCoTaskMem( mPacketBufferSize );
			mPacket.Length = mPacketBufferSize;
			mPacket.ulBytesReceived = 0;

			return true;
		}

		//****************************************************************
		//
		//****************************************************************

		public bool PacketAllocatePacket()
		{
			if( mPacket.Buffer != 0 )
			{
				Marshal.FreeCoTaskMem( (IntPtr) mPacket.Buffer );
				mPacket.Buffer = 0;
				mPacket.Length = 0;
			}

			mPacketBufferSize = 4096; 
			mPacket.Buffer = (int) Marshal.AllocCoTaskMem( mPacketBufferSize );
			mPacket.Length = mPacketBufferSize;
			mPacket.ulBytesReceived = 0;

			return true;
		}

		//****************************************************************
		//
		//****************************************************************

		public void PacketFreePacket()
		{
			if( mPacket.Buffer == 0 ) return;
			
			Marshal.FreeCoTaskMem( (IntPtr) mPacket.Buffer );
			mPacket.Buffer = 0;
			mPacket.Length = 0;
			mPacket.ulBytesReceived = 0;

		}

		//****************************************************************
		//
		//****************************************************************

		public bool PacketCloseAdapter()
		{
			PacketFreePacket();
			CloseHandle( mAdapter.hFile );
			SetEvent( mAdapter.ReadEvent );
			CloseHandle( mAdapter.ReadEvent );
			mAdapter.hFile = 0;
			mAdapter.NumWrites = 0;
			mAdapter.ReadEvent = 0;
			mAdapter.ReadTimeOut = 0;

			return true;
		}

		//****************************************************************
		//
		//****************************************************************

		public void GetAdapterInfo()
		{
			mAdapterInfo.BroadcastBytesRcv = GetBroadcastBytesRcv();
			mAdapterInfo.BroadcastBytesXmit = GetBroadcastBytesXmit();
			mAdapterInfo.BroadcastFramesRcv = GetBroadcastFramesRcv();
			mAdapterInfo.BroadcastFramesXmit = GetBroadcastFramesXmit();
			mAdapterInfo.CurrentLookAhead = GetCurrentLookAhead();
			mAdapterInfo.CurrentPacketFilter = GetCurrentPacketFilter();
			mAdapterInfo.CurrentPacketFilterStr = NtddNDish.GetCurrentPacketFilterString(mAdapterInfo.CurrentPacketFilter);
			mAdapterInfo.DirectedBytesRcv = GetDirectedBytesRcv();
			mAdapterInfo.DirectedBytesXmit = GetDirectedBytesXmit();
			mAdapterInfo.DirectedFramesRcv = GetDirectedFramesRcv();
			mAdapterInfo.DirectedFramesXmit = GetDirectedFramesXmit();
			mAdapterInfo.DriverVersion = GetDriverVersion();
			mAdapterInfo.HardwareStatus = GetHardwareStatus();
			mAdapterInfo.HardwareStatusStr = NtddNDish.GetHardwareStatusString(mAdapterInfo.HardwareStatus);
			mAdapterInfo.LinkSpeed = GetLinkSpeed();
			mAdapterInfo.MacOptions = GetMacOptions();
			mAdapterInfo.MacOptionsStr = NtddNDish.GetMacOptionsString(mAdapterInfo.MacOptions);
			mAdapterInfo.MaximumFrameSize = GetMaximumFrameSize();
			mAdapterInfo.MaximumLookAhead = GetMaximumLookAhead();
			mAdapterInfo.MaximumSendPackets = GetMaximumSendPackets();
			mAdapterInfo.MaximumTotalSize = GetMaximumTotalSize();
			mAdapterInfo.MediaConnectStatus = GetMediaConnectStatus();
			mAdapterInfo.MediaConnectStatusStr = NtddNDish.GetMediaStateString(mAdapterInfo.MediaConnectStatus);
			mAdapterInfo.MediaInUse = GetMediaInUse();
			mAdapterInfo.MediaInUseStr = NtddNDish.GetMediaInUseString(mAdapterInfo.MediaInUse);
			mAdapterInfo.MediaSupported = GetMediaSupported();
			mAdapterInfo.MulticastBytesRcv = GetMulticastBytesRcv();
			mAdapterInfo.MulticastBytesXmit = GetMulticastBytesXmit();
			//mAdapterInfo.MulticastFramesRcv = GetMulticastFramesRcv();
			//mAdapterInfo.MulticastFramesXmit = GetMulticastFramesXmit();
			//mAdapterInfo.NetCardTime = GetNetCardTime();
			mAdapterInfo.ProtocolOptions = GetProtocolOptions();
			mAdapterInfo.ProtocolOptionsStr = NtddNDish.GetProtocolOptionsString(mAdapterInfo.ProtocolOptions);
			mAdapterInfo.RcvCrcError = GetRcvCrcError();
			mAdapterInfo.RcvError = GetRcvError();
			mAdapterInfo.RcvNoBuffer = GetRcvNoBuffer();
			mAdapterInfo.RcvOk = GetRcvOk();
			mAdapterInfo.ReceiveBlockSize = GetReceiveBlockSize();
			mAdapterInfo.ReceiveBufferSpace = GetReceiveBufferSpace();
			//mAdapterInfo.SupportedList = GetSupportedList(); // Check this line
			//mAdapterInfo.TimeCaps = GetTimeCaps();
			//mAdapterInfo.TimeCapsStr = NtddNDish.GetTimeCapsString(mAdapterInfo.TimeCaps);
			mAdapterInfo.TransmitBlockSize = GetTransmitBlockSize();
			mAdapterInfo.TransmitBufferSpace = GetTransmitBufferSpace();
			mAdapterInfo.TransmitQueueLength = GetTransmitQueueLength();
			mAdapterInfo.VendorDescription = GetVendorDescription();
			mAdapterInfo.VendorDriverVersion = GetVendorDriverVersion();
			mAdapterInfo.VendorId = GetVendorId();
			mAdapterInfo.XmitError = GetXmitError();
			mAdapterInfo.XmitOk = GetXmitOk();

			mAdapterInfo.TransportHeaderOffset = GetTransportHeaderOffset();
			mAdapterInfo.PhysicalMedium = GetPhysicalMedium();
			mAdapterInfo.NetworkLayerAddress = GetNetworkLayerAddress();
			mAdapterInfo.MediaSenseCount = GetMediaSenseCount();
			mAdapterInfo.MediaCapabilities = GetMediaCapabilities();
			mAdapterInfo.InitTimeMs = GetInitTimeMs();
			mAdapterInfo.FriendlyName = GetFriendlyName();
			mAdapterInfo.SupportedGuids = GetSupportedGuids();
			mAdapterInfo.NetCardLoad = GetNetCardLoad();
			mAdapterInfo.DeviceProfile = GetDeviceProfile();

		}

		public void GetAdapterInfoEx()
		{
			mAdapterInfoEx.BroadcastBytesRcv = mAdapterInfo.BroadcastBytesRcv.ToString();
			mAdapterInfoEx.BroadcastBytesXmit = mAdapterInfoEx.BroadcastBytesXmit.ToString();
			mAdapterInfoEx.BroadcastFramesRcv = mAdapterInfoEx.BroadcastFramesRcv.ToString();
			mAdapterInfoEx.BroadcastFramesXmit = mAdapterInfoEx.BroadcastFramesXmit.ToString();
			mAdapterInfoEx.CurrentLookAhead = mAdapterInfoEx.CurrentLookAhead.ToString();
			mAdapterInfoEx.CurrentPacketFilter = mAdapterInfoEx.CurrentPacketFilter.ToString();
			mAdapterInfoEx.DirectedBytesRcv = mAdapterInfoEx.DirectedBytesRcv.ToString();
			mAdapterInfoEx.DirectedBytesXmit = mAdapterInfoEx.DirectedBytesXmit.ToString();
			mAdapterInfoEx.DirectedFramesRcv = mAdapterInfoEx.DirectedFramesRcv.ToString();
			mAdapterInfoEx.DirectedFramesXmit = mAdapterInfoEx.DirectedFramesXmit.ToString();
			mAdapterInfoEx.DriverVersion = mAdapterInfoEx.DriverVersion.ToString();
			mAdapterInfoEx.HardwareStatus = mAdapterInfoEx.HardwareStatus.ToString();
			mAdapterInfoEx.LinkSpeed = mAdapterInfoEx.LinkSpeed.ToString();
			mAdapterInfoEx.MacOptions = mAdapterInfoEx.MacOptions.ToString();
			mAdapterInfoEx.MacOptionsStr = mAdapterInfoEx.MacOptionsStr.ToString();
			mAdapterInfoEx.MaximumFrameSize = mAdapterInfoEx.MaximumFrameSize.ToString();
			mAdapterInfoEx.MaximumLookAhead = mAdapterInfoEx.MaximumLookAhead.ToString();
			mAdapterInfoEx.MaximumSendPackets = mAdapterInfoEx.MaximumSendPackets.ToString();
			mAdapterInfoEx.MaximumTotalSize = mAdapterInfoEx.MaximumTotalSize.ToString();
			mAdapterInfoEx.MediaConnectStatus = mAdapterInfoEx.MediaConnectStatus.ToString();
			mAdapterInfoEx.MediaInUse = mAdapterInfoEx.MediaInUse.ToString();
			mAdapterInfoEx.MediaInUseStr = mAdapterInfoEx.MediaInUseStr.ToString();
			mAdapterInfoEx.MediaSupported = mAdapterInfoEx.MediaSupported.ToString();
			mAdapterInfoEx.MulticastBytesRcv = mAdapterInfoEx.MulticastBytesRcv.ToString();
			mAdapterInfoEx.MulticastBytesXmit = mAdapterInfoEx.MulticastBytesXmit.ToString();
			//mAdapterInfoEx.MulticastFramesRcv = mAdapterInfoEx.MulticastFramesRcv.ToString();
			//mAdapterInfoEx.MulticastFramesXmit = mAdapterInfoEx.MulticastFramesXmit.ToString();
			//mAdapterInfoEx.NetCardTime = mAdapterInfoEx.NetCardTime.ToString();
			mAdapterInfoEx.ProtocolOptions = mAdapterInfoEx.ProtocolOptions.ToString();
			mAdapterInfoEx.RcvCrcError = mAdapterInfoEx.RcvCrcError.ToString();
			mAdapterInfoEx.RcvError = mAdapterInfoEx.RcvError.ToString();
			mAdapterInfoEx.RcvNoBuffer = mAdapterInfoEx.RcvNoBuffer.ToString();
			mAdapterInfoEx.RcvOk = mAdapterInfoEx.RcvOk.ToString();
			mAdapterInfoEx.ReceiveBlockSize = mAdapterInfoEx.ReceiveBlockSize.ToString();
			mAdapterInfoEx.ReceiveBufferSpace = mAdapterInfoEx.ReceiveBufferSpace.ToString();
			//mAdapterInfoEx.SupportedList = mAdapterInfoEx.SupportedList.ToString(); // Check this line
			//mAdapterInfoEx.TimeCaps = mAdapterInfoEx.TimeCaps.ToString();
			mAdapterInfoEx.TransmitBlockSize = mAdapterInfoEx.TransmitBlockSize.ToString();
			mAdapterInfoEx.TransmitBufferSpace = mAdapterInfoEx.TransmitBufferSpace.ToString();
			mAdapterInfoEx.TransmitQueueLength = mAdapterInfoEx.TransmitQueueLength.ToString();
			mAdapterInfoEx.VendorDescription = mAdapterInfoEx.VendorDescription.ToString();
			mAdapterInfoEx.VendorDriverVersion = mAdapterInfoEx.VendorDriverVersion.ToString();
			mAdapterInfoEx.VendorId = mAdapterInfoEx.VendorId.ToString();
			mAdapterInfoEx.XmitError = mAdapterInfoEx.XmitError.ToString();
			mAdapterInfoEx.XmitOk = mAdapterInfoEx.XmitOk.ToString();

			mAdapterInfoEx.TransportHeaderOffset = mAdapterInfoEx.TransportHeaderOffset.ToString();
			mAdapterInfoEx.PhysicalMedium = mAdapterInfoEx.PhysicalMedium.ToString();
			mAdapterInfoEx.NetworkLayerAddress = mAdapterInfoEx.NetworkLayerAddress.ToString();
			mAdapterInfoEx.MediaSenseCount = mAdapterInfoEx.MediaSenseCount.ToString();
			mAdapterInfoEx.MediaCapabilities = mAdapterInfoEx.MediaCapabilities.ToString();
			mAdapterInfoEx.InitTimeMs = mAdapterInfoEx.InitTimeMs.ToString();
			mAdapterInfoEx.FriendlyName = GetFriendlyName().ToString();
			mAdapterInfoEx.SupportedGuids = mAdapterInfoEx.SupportedGuids.ToString();
			mAdapterInfoEx.NetCardLoad = mAdapterInfoEx.NetCardLoad.ToString();
			mAdapterInfoEx.DeviceProfile = mAdapterInfoEx.DeviceProfile.ToString();

		}

		//****************************************************************
		//
		//****************************************************************

		private int GetSupportedList()
		{ return GetOidInt( NtddNDish.OID_GEN_SUPPORTED_LIST ); }

		private int GetHardwareStatus()
		{ return GetOidInt( NtddNDish.OID_GEN_HARDWARE_STATUS ); }

		private int GetMediaSupported()
		{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_SUPPORTED ); }

		private int GetMediaInUse()
		{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_IN_USE ); }

		private int GetMaximumLookAhead()
		{ return GetOidInt( NtddNDish.OID_GEN_MAXIMUM_LOOKAHEAD ); }

		private int GetMaximumFrameSize()
		{ return GetOidInt( NtddNDish.OID_GEN_MAXIMUM_FRAME_SIZE ); }

		private int GetLinkSpeed()
		{ return GetOidInt( NtddNDish.OID_GEN_LINK_SPEED ); }

		private int GetTransmitBufferSpace()
		{ return GetOidInt( NtddNDish.OID_GEN_TRANSMIT_BUFFER_SPACE ); }

		private int GetReceiveBufferSpace()
		{ return GetOidInt( NtddNDish.OID_GEN_RECEIVE_BUFFER_SPACE ); }

		private int GetTransmitBlockSize()
		{ return GetOidInt( NtddNDish.OID_GEN_TRANSMIT_BLOCK_SIZE ); }

		private int GetReceiveBlockSize()
		{ return GetOidInt( NtddNDish.OID_GEN_RECEIVE_BLOCK_SIZE ); }

		private int GetVendorId()
		{ return GetOidInt( NtddNDish.OID_GEN_VENDOR_ID ); }

		private string GetVendorDescription()
		{ return GetOidStr( NtddNDish.OID_GEN_VENDOR_DESCRIPTION ); }

		private int GetCurrentPacketFilter()
		{ return GetOidInt( NtddNDish.OID_GEN_CURRENT_PACKET_FILTER ); }

		private int GetCurrentLookAhead()
		{ return GetOidInt( NtddNDish.OID_GEN_CURRENT_LOOKAHEAD ); }

		private int GetMaximumTotalSize()
		{ return GetOidInt( NtddNDish.OID_GEN_MAXIMUM_TOTAL_SIZE ); }

		private int GetProtocolOptions()
		{ return GetOidInt( NtddNDish.OID_GEN_PROTOCOL_OPTIONS ); }

		private int GetMacOptions()
		{ return GetOidInt( NtddNDish.OID_GEN_MAC_OPTIONS ); }

		private int GetMediaConnectStatus()
		{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_CONNECT_STATUS ); }

		private int GetMaximumSendPackets()
		{ return GetOidInt( NtddNDish.OID_GEN_MAXIMUM_SEND_PACKETS ); }

		private int GetDriverVersion()
		{ return GetOidInt( NtddNDish.OID_GEN_DRIVER_VERSION ); }

		private int GetVendorDriverVersion()
		{ return GetOidInt( NtddNDish.OID_GEN_VENDOR_DRIVER_VERSION ); }

		private int GetXmitOk()
		{ return GetOidInt( NtddNDish.OID_GEN_XMIT_OK ); }

		private int GetRcvOk()
		{ return GetOidInt( NtddNDish.OID_GEN_RCV_OK ); }

		private int GetXmitError()
		{ return GetOidInt( NtddNDish.OID_GEN_XMIT_ERROR ); }

		private int GetRcvError()
		{ return GetOidInt( NtddNDish.OID_GEN_RCV_ERROR ); }

		private int GetRcvNoBuffer()
		{ return GetOidInt( NtddNDish.OID_GEN_RCV_NO_BUFFER ); }

		private int GetDirectedBytesXmit()
		{ return GetOidInt( NtddNDish.OID_GEN_DIRECTED_BYTES_XMIT ); }

		private int GetDirectedFramesXmit()
		{ return GetOidInt( NtddNDish.OID_GEN_DIRECTED_FRAMES_XMIT ); }

		private int GetMulticastBytesXmit()
		{ return GetOidInt( NtddNDish.OID_GEN_MULTICAST_BYTES_XMIT ); }

		private int GetMulticastFramesXmit()
		{ return GetOidInt( NtddNDish.OID_GEN_MULTICAST_FRAMES_XMIT ); }

		private int GetBroadcastBytesXmit()
		{ return GetOidInt( NtddNDish.OID_GEN_BROADCAST_BYTES_XMIT ); }

		private int GetBroadcastFramesXmit()
		{ return GetOidInt( NtddNDish.OID_GEN_BROADCAST_FRAMES_XMIT ); }

		private int GetDirectedBytesRcv()
		{ return GetOidInt( NtddNDish.OID_GEN_DIRECTED_BYTES_RCV ); }

		private int GetDirectedFramesRcv()
		{ return GetOidInt( NtddNDish.OID_GEN_DIRECTED_FRAMES_RCV ); }

		private int GetMulticastBytesRcv()
		{ return GetOidInt( NtddNDish.OID_GEN_MULTICAST_BYTES_RCV ); }

		private int GetMulticastFramesRcv()
		{ return GetOidInt( NtddNDish.OID_GEN_MULTICAST_FRAMES_RCV ); }

		private int GetBroadcastBytesRcv()
		{ return GetOidInt( NtddNDish.OID_GEN_BROADCAST_BYTES_RCV ); }

		private int GetBroadcastFramesRcv()
		{ return GetOidInt( NtddNDish.OID_GEN_BROADCAST_FRAMES_RCV ); }

		private int GetRcvCrcError()
		{ return GetOidInt( NtddNDish.OID_GEN_RCV_CRC_ERROR ); }

		private int GetTransmitQueueLength()
		{ return GetOidInt( NtddNDish.OID_GEN_TRANSMIT_QUEUE_LENGTH ); }

		private int GetTimeCaps()
		{ return GetOidInt( NtddNDish.OID_GEN_GET_TIME_CAPS ); }

		private int GetNetCardTime()
		{ return GetOidInt( NtddNDish.OID_GEN_GET_NETCARD_TIME ); }

		private int GetDeviceProfile()
		{ return GetOidInt( NtddNDish.OID_GEN_DEVICE_PROFILE ); }

		private int GetNetCardLoad()
		{ return GetOidInt( NtddNDish.OID_GEN_NETCARD_LOAD ); }

		private int GetSupportedGuids()
		{ return GetOidInt( NtddNDish.OID_GEN_SUPPORTED_GUIDS ); }

		private string GetFriendlyName()
		{ return GetOidStr( NtddNDish.OID_GEN_FRIENDLY_NAME ); }

		private int GetInitTimeMs()
		{ return GetOidInt( NtddNDish.OID_GEN_INIT_TIME_MS ); }

		private int GetMediaCapabilities()
		{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_CAPABILITIES ); }

		private int GetMediaSenseCount()
		{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_SENSE_COUNTS ); }

		private int GetNetworkLayerAddress()
		{ return GetOidInt( NtddNDish.OID_GEN_NETWORK_LAYER_ADDRESSES ); }

		private int GetPhysicalMedium()
		{ return GetOidInt( NtddNDish.OID_GEN_PHYSICAL_MEDIUM ); }

		private int GetTransportHeaderOffset()
		{ return GetOidInt( NtddNDish.OID_GEN_TRANSPORT_HEADER_OFFSET ); }

		//****************************************************************
		//
		//****************************************************************

		public bool GetOid( uint Oid )
		{
			int BytesReturned = 0, i = 0;

⌨️ 快捷键说明

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