其实这个是我在写C#FTP编程时,总感觉写的时候模棱两可的,就姑且抓包看看,到底什么情况。
第一次使用抓包工具,暂且做简单的分析吧
我在本机登陆ftp,输入用户名,密码进行登录。对该过程,使用 CommView获得抓包数据如下。(点击图片查看大图)
看来整个过程还是比较复杂的,进行了这么多次通信。那么就逐条来看吧
第一条,下边是给出的数据包数据分析,这次连接应该是由客户端发出的,一次TCp请求,外层先经过了MAC层的包封装,然后IP层封装,TCP层封装。各个层中包含不同的数据,这里就不细说了。不过发现,点这个树状数据时,左边的二进制数据有对应的高亮显示,挺好。
第二条,看来是从服务器端传来的信息,。想到了TCP的连接不是三次握手么,这应该就是第二次握手了。那么第三条数据就毫无疑问就是客户端高速服务器端已经建立好了连接,可以传送数据了。
第三条,依然是三层封装
客户端应该已经将发起了的3716端口与服务器端的21的控制连接。
第四条
从图上看出来,这是从服务器端发送过来的,右边的树状数据分析栏 也有了基于FTP层协议数据的封装(大概是这么说吧。。。)。从状态号220看出,这次通信是说,服务器端高速客户端,对新用户的服务已经建立完毕了。而且还给出了服务器端的服务类型。
客户端的3716端口与服务器端的21端口连接建立成功。
第五条