00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00012
00013
00014 var cPktXPacketTypePromiscuous = 0x0020;
00015 var cPktXLinkType802_3 = 1;
00016 var cPktXLinkType802_5 = 2;
00017 var cPktXLinkTypeFddi = 3;
00018 var cPktXLinkTypeWan = 4;
00019 var cPktXLinkTypeLocalTalk = 5;
00020 var cPktXLinkTypeDix = 6;
00021 var cPktXLinkTypeArcnetRaw = 7;
00022 var cPktXLinkTypeArcnet878_2 = 8;
00023 var cPktXLinkTypeAtm = 9;
00024 var cPktXLinkTypeWirelessWan = 10;
00025 var cPktXModeCapture = 1;
00026
00027
00028 var oPktX = WScript.CreateObject("PktX.PacketX", "PacketX_");
00029
00030
00031 for (i = 0; i < oPktX.Adapters.Count ; i++) {
00032 if (oPktX.Adapters(i+1).IsGood == true) {
00033 WScript.Echo("(" + (i+1) + ") " + oPktX.Adapters(i+1).Description);
00034
00035 }
00036 }
00037
00038
00039 oNullAdapter = WScript.CreateObject("PktX.Adapter");
00040 oPktX.Adapter = oNullAdapter;
00041 while(oPktX.Adapter == oNullAdapter)
00042 {
00043 WScript.StdOut.Write("Choose adapter#")
00044 try {
00045 oPktX.Adapter = oPktX.Adapters(WScript.StdIn.ReadLine());
00046 }
00047 catch(err){
00048 oPktX.Adapter = oNullAdapter;
00049 }
00050 }
00051
00052
00053 oPktX.Adapter.BuffSize=256*1024;
00054 oPktX.Adapter.BuffMinToCopy=0;
00055
00056
00057 oPktX.Adapter.HWFilter=cPktXPacketTypePromiscuous;
00058 oPktX.Adapter.Mode=cPktXModeCapture;
00059
00060
00061 oPktX.Start();
00062 WScript.Sleep(60000);
00063 oPktX.Stop();
00064
00065 PrintStats(oPktX.Adapter);
00066
00067
00068 function PacketX_OnPacket(oPacket)
00069 {
00070 PrintHead(oPacket);
00071 PrintData(oPacket);
00072 }
00073
00074 function PrintAdapter(oAdapter)
00075 {
00076 WScript.Echo("Device name is " + oAdapter.Device);
00077 WScript.Stdout.Write("Link type is ");
00078 switch(oAdapter.LinkType) {
00079 case cPktXLinkType802_3:
00080 WScript.Echo("Ethernet (802.3)");
00081 break;
00082 case cPktXLinkType802_5:
00083 WScript.Echo("Token Ring (802.5)");
00084 break;
00085 case cPktXLinkTypeFddi:
00086 WScript.Echo("FDDI");
00087 break;
00088 case cPktXLinkTypeWan:
00089 WScript.Echo("WAN");
00090 break;
00091 case cPktXLinkTypeLocalTalk:
00092 WScript.Echo("LocalTalk");
00093 break;
00094 case cPktXLinkTypeDix:
00095 WScript.Echo("DIX");
00096 break;
00097 case cPktXLinkTypeArcnetRaw:
00098 WScript.Echo("ARCNET (raw)");
00099 break;
00100 case cPktXLinkTypeArcnet878_2:
00101 WScript.Echo("ARCNET (878.2)");
00102 break;
00103 case cPktXLinkTypeAtm:
00104 WScript.Echo("ATM");
00105 break;
00106 case cPktXLinkTypeWirelessWan:
00107 WScript.Echo("NdisWirelessXxx media");
00108 break;
00109 default:
00110 WScript.Echo("Unknown!");
00111 }
00112 WScript.Echo("Link speed is " + oAdapter.LinkSpeed + " bps");
00113 WScript.Echo("Network IP addres is " + oAdapter.NetIP);
00114 WScript.Echo("Network mask is " + oAdapter.NetMask);
00115 WScript.Echo("HW address is " + oAdapter.HWAddress);
00116 }
00117
00118 function PrintHead(oPacket)
00119 {
00120 WScript.Echo("----------------------- Packet Header ---------------------" );
00121 WScript.Echo("Original size " + oPacket.OriginalSize + " bytes");
00122 WScript.Echo("Capture size " + oPacket.DataSize + " bytes");
00123 WScript.Echo("Capture time " + oPacket.TimeSec + " (number of seconds from 1/1/1970)");
00124 WScript.Echo("Capture microseconds " + oPacket.TimeUSec);
00125 WScript.Echo("Capture date " + oPacket.Date + " (system date and time)" );
00126 }
00127
00128 function PrintData(oPacket)
00129 {
00130 WScript.Echo ("----------------------- Packet Data -----------------------");
00131 var vbBytes = new VBArray(oPacket.Data);
00132 var jsBytes = vbBytes.toArray();
00133 sLine="";
00134 for (i=0; i < jsBytes.length; i++) {
00135 bByte = jsBytes[i];
00136 if (String(sLine).length >= 48) {
00137 WScript.Echo(sLine);
00138 sLine = "";
00139 }
00140 if (bByte <= 0x0F) {
00141 sLine = sLine + "0";
00142 }
00143 sLine = sLine + bByte.toString(16) + " ";
00144 }
00145 if (String(sLine).length > 0)
00146 WScript.Echo(sLine);
00147 else
00148 WScript.Echo("");
00149 }
00150
00151 function PrintStats(oAdapter)
00152 {
00153 WScript.Echo ("------------------- Capture Statistics --------------------");
00154 WScript.Echo ("Packets received " + oAdapter.PacketsRecv);
00155 WScript.Echo ("Packets lost " + oAdapter.PacketsLost);
00156 }