协议解析软件中怎样识别非默认端口的第四层协议
最近再写一个小型的TCP/IP协议解析软件,第四层的协议我是根据TCP或者UDP头中的端口号来识别的,比如telnet的默认端口是23,但是,如果不使用23怎么办呢?因为,有些应用程序在正常数据传输时是要临时打开一个其它端口的。
------解决方案--------------------楼主还在做这个项目呀,,
参考下wireshark呀,,难道wireshark仅仅是靠端口识别的?
这类问题属于学术上研究范畴,所以找学术文章,然后翻译成代码。
GOOGLE搜索的链接: application layer protocol identify 或者 application layer protocol detection
http://www.google.com.hk/#hl=zh-CN&newwindow=1&safe=strict&q=application+layer+protocol+identify&spell=1&sa=X&ei=iGk0UdPdJ5CTiAfL8YGYAg&ved=0CCsQvwUoAA&bav=on.2,or.r_gc.r_pw.&bvm=bv.43148975,d.aGc&fp=49ca3a6f08282d5a&biw=1440&bih=778
简单的文本协议,http这类的,直接检测下tcp数据是否匹配http协议就行了。
------解决方案--------------------
学术上的研究的问题,,,就和一些什么人脸识别等一样的,都有正确率的问题..
那你就选择一种实现,改进,,然后看准确率了..