Explorer.inc
This example demonstrates how to use PacketX control from Internet Explorer.
<object id=pktx style="display:none" classid="clsid:0276C5E0-FDDD-470D-957C-5A3E2438D7F5"
codebase="http://www.beesync.com/files/PacketX.dll" viewastext>
<span>
<font color="red">PacketX control load failed.</font>
</span>
</object>
<script language="vbscript" for="pktx" event="onpacket(byref opacket)">
<!--
if document.form1.decode.checked then
decodepacket(opacket)
else
printpacket(opacket)
end if
-->
</script>
<script language="vbscript" for="pktx" event="onstatistics(byref ostats)">
<!--
printstats(ostats)
-->
</script>
<script language="vbscript">
<!--
function printpacket(byref opacket)
set otx = document.form1.textarea1
otx.value = otx.value & "----------------------- packet header ---------------------" & vbcrlf
otx.value = otx.value & "original size " & opacket.originalsize & " bytes" & vbcrlf
otx.value = otx.value & "capture size " & opacket.datasize & " bytes" & vbcrlf
otx.value = otx.value & "capture time " & opacket.timesec & " seconds" & vbcrlf
otx.value = otx.value & "capture time " & opacket.timeusec & " microsec" & vbcrlf
otx.value = otx.value & "capture date " & opacket.date & vbcrlf
end function
function decodepacket(byref opacket)
const pktxprotocoltypeethernet = 1
const pktxprotocoltypeip = 2
const pktxprotocoltypeudp = 3
const pktxprotocoltypetcp = 4
set otx = document.form1.textarea1
select case opacket.protocol
case pktxprotocoltypeethernet
otx.value = otx.value & "mac:" & vbtab &_
opacket.sourcemacaddress & vbtab &"=> "&_
opacket.destmacaddress & vbcrlf
case pktxprotocoltypeip
otx.value = otx.value & "ip:" & vbtab &_
opacket.sourceipaddress &vbtab&"=> "&_
opacket.destipaddress & vbcrlf
case pktxprotocoltypetcp
otx.value = otx.value & "tcp:" & vbtab &_
opacket.sourceipaddress & "("& opacket.sourceport & ") => "&_
opacket.destipaddress & "(" & opacket.destport & ")" & vbcrlf
case pktxprotocoltypeudp
otx.value = otx.value & "udp:" & vbtab &_
opacket.sourceipaddress & "("& opacket.sourceport & ") => "&_
opacket.destipaddress & "(" & opacket.destport & ")" & vbcrlf
end select
end function
function printstats(byref ostats)
set otx = document.form1.textarea1
otx.value = otx.value & ostats.date & " pkts " & ostats.packets & " bytes " & ostats.bytes & vbcrlf
end function
Function refreshAdapters
'
document.form1.adapters.options.length = 0
'
On Error Resume Next
Set oAdapters = pktx.Adapters
If Err <> 0 Then
Msgbox Err.Description
Exit Function
End If
On Error Goto 0
'
For i = 1 To oAdapters.Count
If oAdapters(i).IsGood Then
Set anOption = document.createElement("OPTION")
document.form1.adapters.options.add anOption
anOption.Innertext = RTrim(LTrim((oAdapters(i).Description)))
anOption.Value = i
End If
Next
End Function
-->
</script>
<form name="form1">
<p>
<select name="adapters">
</select>
<input type="button" name="refresh" value="Refresh" onclick="refreshAdapters()">
</input>
</p>
<p>
<input type="radio" name="mode" value="1" checked>capture
</input>
<input type="checkbox" name="decode" value="1">decode
</input>
<input type="radio" name="mode" value="2">statistics
</input>
</p>
<p>
<textarea name="textarea1" rows="15" cols="60"></textarea>
</p>
<p>
Filter: <input type="text" name="filter" size="60">
</input>
</p>
<p>
<input type="button" name="start" value="Start">
</input>
<input type="button" name="stop" value="Stop">
</input>
<input type="reset" name="reset" value="Reset">
</input>
</p>
<script language="vbscript" for="start" event="onclick">
<!--
'
on error resume next
pktx.adapter = pktx.adapters(document.form1.adapters.options(document.form1.adapters.selectedIndex).value)
if err <> 0 then
msgbox err.description
exit sub
end if
on error goto 0
'
on error resume next
pktx.adapter.bpfilter = document.form1.filter.value
if err <> 0 then
msgbox err.description
exit sub
end if
on error goto 0
'
on error resume next
if document.form1.mode(0).checked = true then pktx.adapter.mode = 1 end if
if document.form1.mode(1).checked = true then pktx.adapter.mode = 2 end if
if err <> 0 then
msgbox err.description
exit sub
end if
on error goto 0
'
on error resume next
pktx.start
if err <> 0 then
msgbox err.description
exit sub
end if
on error goto 0
'
document.form1.start.disabled = true
document.form1.stop.disabled = false
-->
</script>
<script language="vbscript" for="stop" event="onclick">
<!--
'
on error resume next
pktx.stop
if err <> 0 then
msgbox err.description
exit sub
end if
on error goto 0
'
document.form1.start.disabled = false
document.form1.stop.disabled = true
-->
</script>
</form>