截获IP包,去掉IP头,然后怎么分出具体协议比如HTTP,TELNET,POP3,SMTP
请问 问题点数:27、回复次数:13Top
1 楼duuyuu(冰河)回复于 2001-09-06 08:43:31 得分 0
应用层协议是没有协议标示的,要想判断需要了解每个协议的特性,根据特性模糊识别。Top
2 楼poweruser(Loading......)回复于 2001-09-06 09:20:16 得分 0
to maxsuy:
请问你是如何截获IP包的?我现在的课题也需要这个,但目前还没找到方法,能把你的实现方法告诉我吗?我想向你请教。
我的mail: yansenpro@163.net
非常感谢!Top
3 楼yijn(江南客)回复于 2001-09-06 09:22:32 得分 0
冰河是对的,只能从包中分析出UDP,TCP,还是SMTP包。Top
4 楼maxsuy(魔法兔子)回复于 2001-09-06 14:22:24 得分 0
通过对应的端口来做可以吗Top
5 楼aspnet(小桥流水人家)回复于 2001-09-06 15:31:59 得分 6
可以在UDP、TCP的数据头中分析出具体的协议来
0000: 00 50 BA 66 60 69 00 50 BA D0 7F 8B 08 00 45 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~———
MAC
0010: 00 4F 04 F9 40 00 80 06 74 52 C0 A8 00 0C C0 A8
————————————————————————
IP头
0020: 00 01 04 18 00 15 22 A6 D3 1B 13 AF C2 98 50 18
———~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TCP头
TCP头中的00 15 为目的端口即可判断出为HTTP协议了
你可以根据端口数即可判断相应的协议Top
6 楼aspnet(小桥流水人家)回复于 2001-09-06 15:37:38 得分 0
不好意思 00 15因该改为00 50 即80
本数据纯属瞎编如有雷同纯属以外 ^-^Top
7 楼bruceleee(bruce)回复于 2001-09-06 15:43:43 得分 6
要想对ip进行分析,必须用vxd(win95,98)或wmd(NT)将网卡设为混杂模式,以便接受所有包信息,资料参考http://www.vchelp.net上的以太网卡直接读写。或TcpDump例程,上alstavista查一下把:-)
这其实就是一个TCP/IP协议的问题!只要你监听到了以太网数据包后按照TCP/IP协议分析就可以了。要看看TCP/IP协议的资料!只要抓到数据包了过后就直接按照协议分析就是了!
先判断是什么帧,有netbeui,802.3和IP帧结构,如果是IP帧则继续分析,如来源地址,目的地址,端口,协议等等。详细的东西你最好还是找一本TCP/IP协议的书来看看!
Top
8 楼flywhc(午夜蓝调)回复于 2001-09-06 16:04:28 得分 6
用winpcap库可以截取数据。
仅仅分析tcp头中的端口号的话,DNS, SNMP, POP3,SMTP等协议一般是固定的,很少有变化;
但FTP,telnet, http就经常变化了
Ftp协议和http协议都很有特点的。
比如FTP总是一上来就是:
220 xxxserver Microsoft FTP Service (Version 4.0).
而http则是一开始是请求头 GET \abc\1.htm HTTP/1.1 .. 之类的
telnet有什么明显的特点?好像没有呀,除了常使用终端符号,没有具体规定,像清华BBS这样的地方端口号不定是什么,很难判断Top
9 楼maxsuy(魔法兔子)回复于 2001-09-06 17:50:45 得分 0
事实上,TCP层接收到数据包,也是交给端口对应的软件来处理。
如果是标准断口,那就没有问题。
如果不是标准的话,就要判断标志了Top
10 楼njtlxm(似是故人来)回复于 2001-09-06 21:51:54 得分 6
看端口就可以了,POP3是110端口,FTP是20和21端口,可能有点记错了,看RFC1700或1340就可以了,UDP或TCP报头的开始就是目标端口号和源端口号,抓下来一对照就可以了。Top
11 楼maxsuy(魔法兔子)回复于 2001-09-07 11:23:07 得分 0
ftp是21Top
12 楼maxsuy(魔法兔子)回复于 2001-09-07 22:08:02 得分 0
还有人回答嘛?
没人我可要给分了Top
13 楼njtlxm(似是故人来)回复于 2001-09-08 10:25:05 得分 3
ftp应该是20和21,一个是数据端口,一个是命令端口Top




