aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 8175|回复: 1

sniff 代码想打印出拦截的数据包的socket内容,怎么办呢

[复制链接]

2

主题

7

回帖

66

积分

一级会员

积分
66
发表于 2012-12-4 22:28:49 | 显示全部楼层 |阅读模式
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();

2

主题

7

回帖

66

积分

一级会员

积分
66
 楼主| 发表于 2012-12-4 22:29:45 | 显示全部楼层
另外,想做一个 拦截端口的通信数据,然后做修改,再返回给这个端口处理,这个功能谁能做的,联系我,价格q谈   2631792174
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-6-6 11:42 , Processed in 0.070688 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表