TCP抓包分析

实验内容

  • 学会安装使用自由软件SNORT
  • 截获以太网数据包,并描述以太网数据包的各层的帧结构。
  • 截获ARP,TCP协议数据包并进行分析

实验步骤

实验需要两个主机A(192.168.1.104)和B(192.168.1.105),A访问B,B进行TCP和ARP抓包,本实验报告为抓包主机B视角。

环境配置

主机B需要进行环境配置:设置账户密码、打开FTP站点

设置账户密码

控制面板——用户账户——设置密码

打开FTP站点

控制面板——管理工具——Internet信息服务——FTP站点——属性——用户名——浏览——查找账户——选择ligong——应用——确认

A访问B

  • ftp
  • open 192.168.1.105
  • 输入用户名(ligong)和密码(123,也就是刚才设置的密码)
  • 一些操作,如dir
  • quit,退出,断开连接

B进行抓包

使用Snort软件进行抓包,进入D:/snort/bin目录。

输入snort -dev -l /snort/log,开始抓包,按下Ctrl+C停止抓包。

如果主机B抓到了A发出的FTP请求,在D:/snort/log目录下可以找到文件夹192.168.104,在其中可以看到名如TCP_1980-21.ids的文件,21为端口号。

数据包分析

ARP抓包失败,原因未知,其他同学似乎也未抓到,抓到的都是3号机器广播的ARP包。下边进队TCP数据包进行分析。

TCP数据包分析

  • TCP是面向连接的协议,所以TCP运输连接的建立和释放时每一次通信中必不可少的过程。

  • 运输连接分为三个阶段:连接建立数据传送连接释放

    每一次握手大概包括以下内容:

    第一行数据包括了时间戳、源物理地址、目的物理地址、类型、长度;

    第二行数据包括了源IP、目的IP、TCP、TTL、TOS、ID、IP长度、Dgm长度;

    第三行数据包括SYN位、ACK位、序号、确认号、窗口大小、TCP长度;

    第四行信息包括TCP选项等。

以下主要选取TCP数据包中连接建立(三次握手)和连接释放(四次握手)的相关内容进行分析。

连接建立

01/01-01:40:15.948470 0:16:EC:D2:50:7D -> 0:19:21:57:7:85 type:0x800 len:0x3E
192.168.1.104:1980 -> 192.168.1.105:21 TCP TTL:128 TOS:0x0 ID:11743 IpLen:20 DgmLen:48 DF
******S* Seq: 0x75C7623D  Ack: 0x0  Win: 0xFFFF  TcpLen: 28
TCP Options (4) => MSS: 1460 NOP NOP SackOK 

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

上边为连接建立的第一次握手,可以看到数据包从主机A(104)发往主机B(105)的21号端口;

SYN位设置为1;

序号为0x75C7623D

01/01-01:40:15.948524 0:19:21:57:7:85 -> 0:16:EC:D2:50:7D type:0x800 len:0x3E
192.168.1.105:21 -> 192.168.1.104:1980 TCP TTL:128 TOS:0x0 ID:11647 IpLen:20 DgmLen:48 DF
***A**S* Seq: 0xF085016  Ack: 0x75C7623E  Win: 0xFFFF  TcpLen: 28
TCP Options (4) => MSS: 1460 NOP NOP SackOK 

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

上边为连接建立的第二次握手,可以看到数据包从105发往104,

SYN位设置为1;

ACK位设为1;

序号为0xF085016

确认号为0x75C7623E,即确认号为上一次握手序号+1的值

01/01-01:40:15.948661 0:16:EC:D2:50:7D -> 0:19:21:57:7:85 type:0x800 len:0x3C
192.168.1.104:1980 -> 192.168.1.105:21 TCP TTL:128 TOS:0x0 ID:11744 IpLen:20 DgmLen:40 DF
***A**** Seq: 0x75C7623E  Ack: 0xF085017  Win: 0xFFFF  TcpLen: 20

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

上边为连接建立的第三次握手,可以看到数据包从104发往105,

ACK位设为1;

序号为0x75C7623E,即序号为上一次握手的确认号,本质是A上一次向B发出的请求的序号+1;

确认号为0xF085017,即确认号为上一次握手序号+1的值

数据传送

连接释放

注意:这里是服务器主动释放连接,与教材上写的客户机主动释放情况不同。

01/01-01:40:25.769622 0:19:21:57:7:85 -> 0:16:EC:D2:50:7D type:0x800 len:0x36
192.168.1.105:21 -> 192.168.1.104:1980 TCP TTL:128 TOS:0x0 ID:11666 IpLen:20 DgmLen:40 DF
***A***F Seq: 0xF085092  Ack: 0x75C7625B  Win: 0xFFE2  TcpLen: 20

上边为连接释放的第一次握手,可以看到数据包从105发往104,

ACK位设为1;

FIN位设为1;

序号为0xF085092

确认号为0x75C7625B

01/01-01:40:25.769759 0:16:EC:D2:50:7D -> 0:19:21:57:7:85 type:0x800 len:0x3C
192.168.1.104:1980 -> 192.168.1.105:21 TCP TTL:128 TOS:0x0 ID:11763 IpLen:20 DgmLen:40 DF
***A**** Seq: 0x75C7625B  Ack: 0xF085093  Win: 0xFF84  TcpLen: 20

上边为连接释放的第二次握手,可以看到数据包从104发往105,

ACK位设为1;

序号为0x75C7625B,即序号等于上次握手确认号

确认号为0xF085093,即确认号等于上次握手序号+1

01/01-01:40:25.771844 0:16:EC:D2:50:7D -> 0:19:21:57:7:85 type:0x800 len:0x3C
192.168.1.104:1980 -> 192.168.1.105:21 TCP TTL:128 TOS:0x0 ID:11764 IpLen:20 DgmLen:40 DF
***A***F Seq: 0x75C7625B  Ack: 0xF085093  Win: 0xFF84  TcpLen: 20

上边为连接释放的第三次握手,可以看到数据包从104发往105,

ACK位设为1;

FIN位设置为1;

序号为0x75C7625B,即序号等于上次握手序号

确认号为0xF085093,即确认号等于上次握手确认号

01/01-01:40:25.771894 0:19:21:57:7:85 -> 0:16:EC:D2:50:7D type:0x800 len:0x36
192.168.1.105:21 -> 192.168.1.104:1980 TCP TTL:128 TOS:0x0 ID:11667 IpLen:20 DgmLen:40 DF
***A**** Seq: 0xF085093  Ack: 0x75C7625C  Win: 0xFFE2  TcpLen: 20

上边为连接释放的第四次握手,可以看到数据包从105发往104,

ACK位设为1;

序号为0xF085093,即序号等于上次握手确认号

确认号为0x75C7625C,即确认号等于上次握手序号+1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值