当前位置: 技术问答>linux和unix
ftp数据包监听及数据包组成问题
来源: 互联网 发布时间:2016-08-02
本文导语: 举个例子,我们公司的一个局域网可以向外网的ftp上传文件。而我要在网关处做一监听程序,对上传文件的类型及大小做出限制。请问我该找哪方面的资料?ftp是通过tcp的,我如何知道发送文件的大小?在tcp,ip头部...
举个例子,我们公司的一个局域网可以向外网的ftp上传文件。而我要在网关处做一监听程序,对上传文件的类型及大小做出限制。请问我该找哪方面的资料?ftp是通过tcp的,我如何知道发送文件的大小?在tcp,ip头部有说明吗?还有文件格式如何获得呢?望各位不吝赐教!
|
这个肯定要分析FTP协议。
如果你要直接部署在网关端,最方便的做法是借助netfilter的connection track,它可以帮助track ftp的控制连接和数据连接。
据我所知,Client上传文件用的是STOR命令,服务器只能拿到文件名。所以现在大小的话,估计要记录数据连接传输的数据量,一旦超出可以直接在ip层丢到数据包,或者伪造FIN包结束Client和Server的数据连接,然后通过控制连接向Client发送226或550。
如果你要直接部署在网关端,最方便的做法是借助netfilter的connection track,它可以帮助track ftp的控制连接和数据连接。
据我所知,Client上传文件用的是STOR命令,服务器只能拿到文件名。所以现在大小的话,估计要记录数据连接传输的数据量,一旦超出可以直接在ip层丢到数据包,或者伪造FIN包结束Client和Server的数据连接,然后通过控制连接向Client发送226或550。