抓包工具的进展(一)
正在写一个抓包工具,一直没什么进展.以后把情况都记录下来.
目前:
一. 可以抓包,分析五元组并保存到INRecord数据库中.
二.如确定是skype通话,则将相此通话保存到sPeer中.
三.定期检查SPeer中的会话是否已经超过两分钟未收到通话数据包.如超过,则删去此通话,认为此通话已经结束.
要做:
一. 识别skype通话的方法未定
二.对正在进行的通话发送干扰包.
困难:
winxp SP2不支持在SOCK_RAW发送数据包.
解决方法:
一.改到win200professional环境.用SOCK_RAW发包
二.用linux+mysql环境重新编程
目前采用第一种解决方法试行.
已安装win2000pro,改写程序使之适合新环境.
又记:
win2000pro下的SkypeCtrl已差不多写好.但运行过程中出现对m_SPeer不能写入数据的问题,究其原因,原来是CTime格式,如去掉CTime的写入,则能写成功。此事正在调查中ing
再记CTime写入数据库中的问题,最后解决方法是用CTime::GetCurrentTime()直接给CRecordSet中的CTime变量赋值,然后用Update()即可成功。
之前发生错误的情况是用另一个CRecordSet中的CTime变量给一个CRecordSet中的CTime变量赋值后再Update()发生不能写内存错误.
试运行环境:
源机:win2000pro
目的机器:winxp sp2
发送UDP包,出现bind错误10049,lookup一下"The requested address is not valid in its context. "不知何故,
http://topic.csdn.net/t/20001115/21/40533.html上有一说,是操作系统版本的问题,因为客户端win2000。后将绑定地址改为本机IP后成功发送.
待完成:
1.CSKPCDlg::SendPkt()
2.CSKPCDlg::IsSkype()
3.CSKPCDlg::SaveRecord()