Simple.cs

This example demonstrates how to capture HTTP packets from C#.
See also:
PacketX , BPFilter
00001 
00002 // File:         Simple.cs
00003 //
00004 // Description:  This script demonstrates how to capture HTTP packets
00005 //
00006 // Notes:        tlbimp PacketX.dll && csc /R:PacketXLib.dll Simple.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 Simple
00017 {
00018   class Test 
00019   {
00021     [MTAThread]
00022     static void Main(string[] args)
00023     {
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       // Apply BPF capture filter
00049       AdapterClass oAdapter = (AdapterClass)oPktX.Adapter;
00050       oAdapter.BPFilter = "port 80";
00051 
00052       // Start capture
00053       oPktX.Start();
00054       System.Threading.Thread.Sleep(30000);                 
00055       oPktX.Stop();
00056     }
00057 
00059     static void PacketX_OnPacket(Packet aPacket)
00060     {
00061       Console.Write("A");
00062     }
00063   }
00064 }
00065 

Copyright © 2000-2007 beeSync. All rights reserved.