00001 <object id=pktx style="display:none" classid="clsid:0276C5E0-FDDD-470D-957C-5A3E2438D7F5"
00002 codebase="http://www.beesync.com/files/PacketX.dll" viewastext>
00003 <span>
00004 <font color="red">PacketX control load failed.</font>
00005 </span>
00006 </object>
00007
00008 <script language="vbscript" for="pktx" event="onpacket(byref opacket)">
00009 <!--
00010 if document.form1.decode.checked then
00011 decodepacket(opacket)
00012 else
00013 printpacket(opacket)
00014 end if
00015 -->
00016 </script>
00017
00018 <script language="vbscript" for="pktx" event="onstatistics(byref ostats)">
00019 <!--
00020 printstats(ostats)
00021 -->
00022 </script>
00023
00024 <script language="vbscript">
00025 <!--
00026 function printpacket(byref opacket)
00027 set otx = document.form1.textarea1
00028 otx.value = otx.value & "----------------------- packet header ---------------------" & vbcrlf
00029 otx.value = otx.value & "original size " & opacket.originalsize & " bytes" & vbcrlf
00030 otx.value = otx.value & "capture size " & opacket.datasize & " bytes" & vbcrlf
00031 otx.value = otx.value & "capture time " & opacket.timesec & " seconds" & vbcrlf
00032 otx.value = otx.value & "capture time " & opacket.timeusec & " microsec" & vbcrlf
00033 otx.value = otx.value & "capture date " & opacket.date & vbcrlf
00034 end function
00035
00036 function decodepacket(byref opacket)
00037 const pktxprotocoltypeethernet = 1
00038 const pktxprotocoltypeip = 2
00039 const pktxprotocoltypeudp = 3
00040 const pktxprotocoltypetcp = 4
00041 set otx = document.form1.textarea1
00042 select case opacket.protocol
00043 case pktxprotocoltypeethernet
00044 otx.value = otx.value & "mac:" & vbtab &_
00045 opacket.sourcemacaddress & vbtab &"=> "&_
00046 opacket.destmacaddress & vbcrlf
00047 case pktxprotocoltypeip
00048 otx.value = otx.value & "ip:" & vbtab &_
00049 opacket.sourceipaddress &vbtab&"=> "&_
00050 opacket.destipaddress & vbcrlf
00051 case pktxprotocoltypetcp
00052 otx.value = otx.value & "tcp:" & vbtab &_
00053 opacket.sourceipaddress & "("& opacket.sourceport & ") => "&_
00054 opacket.destipaddress & "(" & opacket.destport & ")" & vbcrlf
00055 case pktxprotocoltypeudp
00056 otx.value = otx.value & "udp:" & vbtab &_
00057 opacket.sourceipaddress & "("& opacket.sourceport & ") => "&_
00058 opacket.destipaddress & "(" & opacket.destport & ")" & vbcrlf
00059 end select
00060 end function
00061
00062 function printstats(byref ostats)
00063 set otx = document.form1.textarea1
00064 otx.value = otx.value & ostats.date & " pkts " & ostats.packets & " bytes " & ostats.bytes & vbcrlf
00065 end function
00066
00067 Function refreshAdapters
00068 '
00069 document.form1.adapters.options.length = 0
00070
00071 '
00072 On Error Resume Next
00073 Set oAdapters = pktx.Adapters
00074 If Err <> 0 Then
00075 Msgbox Err.Description
00076 Exit Function
00077 End If
00078 On Error Goto 0
00079
00080 '
00081 For i = 1 To oAdapters.Count
00082 If oAdapters(i).IsGood Then
00083 Set anOption = document.createElement("OPTION")
00084 document.form1.adapters.options.add anOption
00085 anOption.Innertext = RTrim(LTrim((oAdapters(i).Description)))
00086 anOption.Value = i
00087 End If
00088 Next
00089 End Function
00090 -->
00091 </script>
00092
00093 <form name="form1">
00094 <p>
00095 <select name="adapters">
00096 </select>
00097 <input type="button" name="refresh" value="Refresh" onclick="refreshAdapters()">
00098 </input>
00099 </p>
00100 <p>
00101 <input type="radio" name="mode" value="1" checked>capture
00102 </input>
00103 <input type="checkbox" name="decode" value="1">decode
00104 </input>
00105 <input type="radio" name="mode" value="2">statistics
00106 </input>
00107 </p>
00108 <p>
00109 <textarea name="textarea1" rows="15" cols="60"></textarea>
00110 </p>
00111 <p>
00112 Filter: <input type="text" name="filter" size="60">
00113 </input>
00114 </p>
00115 <p>
00116 <input type="button" name="start" value="Start">
00117 </input>
00118 <input type="button" name="stop" value="Stop">
00119 </input>
00120 <input type="reset" name="reset" value="Reset">
00121 </input>
00122 </p>
00123
00124 <script language="vbscript" for="start" event="onclick">
00125 <!--
00126 '
00127 on error resume next
00128 pktx.adapter = pktx.adapters(document.form1.adapters.options(document.form1.adapters.selectedIndex).value)
00129 if err <> 0 then
00130 msgbox err.description
00131 exit sub
00132 end if
00133 on error goto 0
00134
00135 '
00136 on error resume next
00137 pktx.adapter.bpfilter = document.form1.filter.value
00138 if err <> 0 then
00139 msgbox err.description
00140 exit sub
00141 end if
00142 on error goto 0
00143
00144 '
00145 on error resume next
00146 if document.form1.mode(0).checked = true then pktx.adapter.mode = 1 end if
00147 if document.form1.mode(1).checked = true then pktx.adapter.mode = 2 end if
00148 if err <> 0 then
00149 msgbox err.description
00150 exit sub
00151 end if
00152 on error goto 0
00153
00154 '
00155 on error resume next
00156 pktx.start
00157 if err <> 0 then
00158 msgbox err.description
00159 exit sub
00160 end if
00161 on error goto 0
00162
00163 '
00164 document.form1.start.disabled = true
00165 document.form1.stop.disabled = false
00166 -->
00167 </script>
00168 <script language="vbscript" for="stop" event="onclick">
00169 <!--
00170 '
00171 on error resume next
00172 pktx.stop
00173 if err <> 0 then
00174 msgbox err.description
00175 exit sub
00176 end if
00177 on error goto 0
00178
00179 '
00180 document.form1.start.disabled = false
00181 document.form1.stop.disabled = true
00182 -->
00183 </script>
00184 </form>