所以,对于一个计算机科学项目,我需要嗅探网络流并从该流中构建文件。例如,如果程序指向~/dumps/tmp/,则目录结构应如下所示:
~/dumps/tmp /192.168.0.1/ page1.html page2.html [各种页面资源] downloaded file1 /192.168.0.2/ 以此类推。
我在Linux上使用C和pcap进行操作(因为我已经知道C++,而且认为这将是一个很好的学习经验)。
到目前为止,我一直在查看TCP/IP的各种头格式。 TCP header 我想,我可以通过它们的dst/src对数据包进行排序,然后按序列和确认窗口正确排序。
但这让我面临着一个大问题:如何确定数据包A-Z属于HTML文件,而a-z属于正在下载的其他随机文件?
还有,我应该查找哪些其他类型的头格式?目前,我有:
~/dumps/tmp /192.168.0.1/ page1.html page2.html [各种页面资源] downloaded file1 /192.168.0.2/ 以此类推。
我在Linux上使用C和pcap进行操作(因为我已经知道C++,而且认为这将是一个很好的学习经验)。
到目前为止,我一直在查看TCP/IP的各种头格式。 TCP header 我想,我可以通过它们的dst/src对数据包进行排序,然后按序列和确认窗口正确排序。
但这让我面临着一个大问题:如何确定数据包A-Z属于HTML文件,而a-z属于正在下载的其他随机文件?
还有,我应该查找哪些其他类型的头格式?目前,我有:
我会贴更多超链接图片,但显然需要声望才能这样做,抱歉 TCP、Ethernet、UDP,我会涉及到诸如FTP之类的协议(但我相当确定FTP是建立在TCP之上的,就像HTTP一样)。
所以,简而言之,我该如何在网络流中查找文件,我是否漏掉了任何重要的协议需要阅读?
回复 我不知道如何回复,所以只能这样做。
我已经多次使用pcap,并将在此项目中再次使用它,但我不会使用Wireshark的任何东西(尽管它是一个很棒的程序),因为我想真正学习这种东西。
是的,我会研究OSI层,有哪些常见协议的好网站建议吗?
我想我应该停下来了,在这个“问题”变成讨论之前。