Decode.cs

This example demonstrates how to decode packets from C#.
See also:
PacketX , Packet , SourceMacAddress , SourceIpAddress , SourcePort
00001 
00002 // File:         Decode.cs
00003 //
00004 // Description:  This script demonstrates how to decode packets
00005 //
00006 // Notes:        tlbimp PacketX.dll && csc /R:PacketXLib.dll Decode.cs
00007 //
00008 // Created:      May 10, 2004
00009 //
00010 // Copyright (c) 2000-2004 BeeSync Technologies.
00012 
00013 using System;
00014 using PacketXLib;
00015 
00016 namespace Decode
00017 {
00018   class Test 
00019   {
00020     // The main entry point for the application.
00021     [MTAThread]
00022     static void Main(string[] args)
00023     {
00024       // Create PacketX object
00025       PacketXClass oPktX = new PacketXClass();
00026       oPktX.OnPacket += new _IPktXPacketXEvents_OnPacketEventHandler(PacketX_OnPacket);
00027       
00028       // Display network adapters
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       // Select network adapter
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       // Start capture
00049       oPktX.Start();
00050       System.Threading.Thread.Sleep(30000);                 
00051       oPktX.Stop();
00052     }
00053 
00054     // OnPacket event handler.
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 

Copyright © 2000-2007 beeSync. All rights reserved.