|
import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=120;parent=...;text="抓包测试程序";right=399 )
winform.add(
btnSniff={ bottom=77;right=183;left=64;top=37;z=1;text="抓包";cls="button" };
btnStop={ disabled=1;bottom=77;right=329;left=210;top=37;z=2;text="停止";cls="button" }
)
/*}}*/
winform.wndproc = function(hwnd,message,wparam,lparam){
select(message) {//判断消息类型
case 0x10/*_WM_CLOSE窗口关闭消息*/{
}
case 0x205/*_WM_RBUTTONUP 鼠标右键弹起,弹出菜单*/begin
//var x,y = ::LOWORD(lparam), ::HIWORD(lparam)
//winform.popmenu.popup();//弹出菜单
end
else{
}
}
//无返回值则继续调用默认回调函数
}
winform.btnStop.oncommand = function(id,event){
thread.set("运行指示","给我停" )
}
winform.btnSniff.oncommand = function(id,event){
winform.btnSniff.disabled = true;
winform.btnStop.disabled = false;
thread.set("运行指示","给我抓" )
win.invoke(
function(){
import win;
import wsock.sniff
import console;
execute("title 正在抓包")
var times = 0;var dProto ;
var totalsize = 0; var thissize = 0
for(sockdata in wsock.sniff() ){
if ( sockdata.ok ){ // 有数据发送
if( sockdata.tcpheader && (sockdata.tcpheader.strDport==5214 || sockdata.tcpheader.strSport==5214) ){
thissize = #sockdata.tcpdata + 40
totalsize += thissize
var wskBuf;
wsock.decodeTcpPack(wskBuf,sockdata)
//console.log(thissize ,"strSport="+sockdata.tcpheader.strSport,"strDport="+sockdata.tcpheader.strDport,totalsize,sockdata.tcpdata)
console.log( wsock.sniff(). )//,sockdata.tcpheader.th_dport
}
}
if( thread.get("运行指示") != "给我抓")
break;
}
execute("title 抓包结束")
}
)
winform.btnStop.disabled = true;
winform.btnSniff.disabled = false;
}
winform.show();
win.loopMessage();
|
|