00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00012
00013 using System;
00014 using PacketXLib;
00015
00016 namespace Send
00017 {
00018 class Test
00019 {
00021 [MTAThread]
00022 static void Main(string[] args)
00023 {
00025 PacketXClass oPktX = new PacketXClass();
00026
00027
00028 AdapterCollection oAdapters = (AdapterCollection)oPktX.Adapters;
00029 for (int i = 0; i < oAdapters.Count ; i++)
00030 {
00031 if (Convert.ToBoolean(oAdapters[i+1].IsGood))
00032 Console.WriteLine("(" + (i+1) + ") " + oAdapters[i+1].Description);
00033 }
00034
00035 oPktX.Adapter = null;
00036 while (oPktX.Adapter == null)
00037 {
00038 Console.Write("Choose adapter#");
00039 try
00040 {
00041 int nSelected = Convert.ToInt16(Console.ReadLine().Trim(),10);
00042 oPktX.Adapter = oAdapters[nSelected];
00043 }
00044 catch (System.Exception)
00045 {
00046 Console.WriteLine("Invalid adapter number.");
00047 }
00048 }
00049
00050
00051 Adapter oAdapter = (Adapter)oPktX.Adapter;
00052 string sHWAddr = oAdapter.HWAddress;
00053 string sIPAddr = oAdapter.NetIP;
00054 string sIPMask = oAdapter.NetMask;
00055 Console.WriteLine("MAC Addr = " + sHWAddr);
00056 Console.WriteLine("IP Addr = " + sIPAddr);
00057
00058
00059 string sIPReso = "11.12.13.14";
00060 char [] aDelimiter = {'.'};
00061 string[] aIPReso = sIPReso.Split(aDelimiter, 4);
00062 string[] aIPAddr = sIPAddr.Split(aDelimiter, 4);
00063
00064
00065 Object[] oPacket = new Object[] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
00066 Convert.ToByte("0x" + sHWAddr.Substring(0,2), 16),
00067 Convert.ToByte("0x" + sHWAddr.Substring(2,2), 16),
00068 Convert.ToByte("0x" + sHWAddr.Substring(4,2), 16),
00069 Convert.ToByte("0x" + sHWAddr.Substring(6,2), 16),
00070 Convert.ToByte("0x" + sHWAddr.Substring(8,2), 16),
00071 Convert.ToByte("0x" + sHWAddr.Substring(10,2), 16),
00072 0x08, 0x06, 0x00, 0x01,
00073 0x08, 0x00, 0x06, 0x04, 0x00, 0x01,
00074 Convert.ToByte("0x" + sHWAddr.Substring(0,2), 16),
00075 Convert.ToByte("0x" + sHWAddr.Substring(2,2), 16),
00076 Convert.ToByte("0x" + sHWAddr.Substring(4,2), 16),
00077 Convert.ToByte("0x" + sHWAddr.Substring(6,2), 16),
00078 Convert.ToByte("0x" + sHWAddr.Substring(8,2), 16),
00079 Convert.ToByte("0x" + sHWAddr.Substring(10,2), 16),
00080 Convert.ToByte(aIPAddr[0], 10),
00081 Convert.ToByte(aIPAddr[1], 10),
00082 Convert.ToByte(aIPAddr[2], 10),
00083 Convert.ToByte(aIPAddr[3], 10),
00084 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00085 Convert.ToByte(aIPReso[0], 10),
00086 Convert.ToByte(aIPReso[1], 10),
00087 Convert.ToByte(aIPReso[2], 10),
00088 Convert.ToByte(aIPReso[3], 10),
00089 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00090 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00091 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
00092
00093
00094 oAdapter.SendPacket(oPacket, 100);
00095 }
00096 }
00097 }
00098