00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00012
00013 using System;
00014 using PacketXLib;
00015
00016 namespace Decode
00017 {
00018 class Test
00019 {
00020
00021 [MTAThread]
00022 static void Main(string[] args)
00023 {
00024
00025 PacketXClass oPktX = new PacketXClass();
00026 oPktX.OnPacket += new _IPktXPacketXEvents_OnPacketEventHandler(PacketX_OnPacket);
00027
00028
00029 AdapterCollection oAdapters = (AdapterCollection)oPktX.Adapters;
00030 for (int i = 0; i < oAdapters.Count ; i++)
00031 {
00032 if (Convert.ToBoolean(oAdapters[i+1].IsGood))
00033 Console.WriteLine("(" + (i+1) + ") " + oAdapters[i+1].Description);
00034 }
00035
00036 oPktX.Adapter = null;
00037 while (oPktX.Adapter == null)
00038 {
00039 Console.Write("Choose adapter#");
00040 try {
00041 int nSelected = Convert.ToInt16(Console.ReadLine().Trim(),10);
00042 oPktX.Adapter = oAdapters[nSelected];
00043 }
00044 catch (System.Exception){
00045 Console.WriteLine("Invalid adapter number.");
00046 }
00047 }
00048
00049 oPktX.Start();
00050 System.Threading.Thread.Sleep(30000);
00051 oPktX.Stop();
00052 }
00053
00054
00055 static void PacketX_OnPacket(Packet oPacket)
00056 {
00057 switch(oPacket.Protocol)
00058 {
00059 case(PktXProtocolType.PktXProtocolTypeEthernet):
00060 Console.WriteLine("MAC:\t" + oPacket.SourceMacAddress + "\t=> " +
00061 oPacket.DestMacAddress);
00062 break;
00063 case(PktXProtocolType.PktXProtocolTypeIP):
00064 Console.WriteLine("IP:\t" + oPacket.SourceIpAddress + "\t=> " +
00065 oPacket.DestIpAddress);
00066 break;
00067 case(PktXProtocolType.PktXProtocolTypeTCP):
00068 Console.WriteLine("TCP:\t" + oPacket.SourceIpAddress + "\t=> " +
00069 oPacket.DestIpAddress + "\t" + oPacket.SourcePort + "\t=> " +
00070 oPacket.DestPort);
00071 break;
00072 case(PktXProtocolType.PktXProtocolTypeUDP):
00073 Console.WriteLine("UDP:\t" + oPacket.SourceIpAddress + "\t=> " +
00074 oPacket.DestIpAddress + "\t" + oPacket.SourcePort + "\t=> " +
00075 oPacket.DestPort);
00076 break;
00077 }
00078 }
00079 }
00080 }
00081