Windows下完成SCTP简单抓包

文章目录

  • Windows下完成SCTP简单抓包
  • 一、实验主机信息
  • 二、所使用的程序
  • 三、程序安装
  • 四、实验过程
  • 五、报文分析
    • 1.SCTP报文格式
    • 2.SCTP四次握手
    • SCTP INIT报文
    • SCTP INIT-ACK 数据报
    • SCTP INIT_ACK 数据报
    • SCTP COOKIE_ECHO数据报
    • SCTP COOKIE_ACK 数据报
    • SCTP SACK数据报
    • SCTP DATA块
    • SCTP HEARTBEAT块
    • SCTP HEARTBEAT_ACK块

一、实验主机信息

二、所使用的程序

sctplib-1.0.4.exe、glib-1.2.zip 、wireshark
http://www.sctp.be/sctplib/
具体软件安装请见:SCTP在windows下简单实现发包

三、程序安装

1.将sctplib-1.0.4.exe和glib-1.2.zip下载到本地计算机上。

2.安装 sctplib-1.0.4.exe到本机器上,安装完后将glib-1.2.zip解压到它的安装目录下,例如:E:/Program Files/sctplib下面。

3.这个SCTP的实现是在两个机器之间进行的,所以要另外一台机器也要和你自己安装相同的工具(以上两个)。

四、实验过程

  1. 由于Windows自带防火墙的存在,当带有防火墙的主机收到了SCTP的INIT信息后,防火墙会直接将该包丢弃,所以在实验开始前关闭两个主机的防火墙
  2. S端先以管理员模式打开echo_server,C端在命令提示符窗口中打开echo_tool(先开S端,再开C端)
  3. 在C端命令中输入 echo_tool -d 192.168.1.108(S端IP),即可与S端建立连接,并可以在抓包软件中看到SCTP四握手,等待大约30秒即可收到SCTP的heartbeat报文与heartbeat_ACK报文

  1. C端命令中输入echo_tool -d 192.168.1.108(S端IP)-n 1,即可在上述过程之外再抓到C端与S端互发的DATA数据块,其中双方的确认方式均为选择确认(确认模式固定,发包内容大小固定,可能无法改变?)

  2. 由于程序设置的问题,无法主动正常断开链接,只能通过ctrl+c异常断开,故在3.4步骤后续中抓到的包为ICMP协议不可达(C段程序断开,协议信息无法送达)

  3. 其他参数可由C端指令符中echo_tool/?获得其参数对应的作用

五、报文分析

1.SCTP报文格式


2.SCTP四次握手


SCTP INIT报文

SCTP INIT-ACK 数据报

注:INIT中的验证标志位,因为还未接收到对方ACK中的初始标志,默认为0

字段 长度 意义
初始标志 4 用于确定一对连接的值。这个值必须被放置到INIT的接收方发送的与该连接相关的每个SCTP分组中的验证标签字段中。初始标签允许除0以外的的任何值。如果在收到的INIT数据块中的启动标签为0,则接收方发送ABORT数据块中止该连接。
窗口大小 4 表示指定的缓冲区的容量,用字节数表示,为INIT发送方为连接预留的窗口大小。
输出流 2 表示发送方希望数据输出流的数量
输入流 2 表示发送方允许接收数据流的数量
初始TSN 4 定义发送方的初始TSN,类似于TCP中的序号
可变长参数 可变 参见以下

可变长参数:IPv4地址参数(5)

IPv4地址(32bit无符号整数):包含发送方端点的IPv4地址,采用二进制编码。
IPv6地址参数(6)

IPv6地址(128bit的无符号整数):包含发送方端点的IPv6地址,采用二进制编码。
注:多个地址参数体现SCTP的多宿主特点

防止Cookie过期参数(9)
INIT的发送方应使用这个参数来建议INIT的接收方提供较长存活跨度的状态Cookie。

建议的COOKIE存活跨度增量(32bit的无符号整数),该参数用来向接收方指示发送方希望接收方为其缺省的COOKIE的存活跨度增加的毫秒数。
由于失效的cookie操作差错原因,前一次尝试与对等端建立连接失败后,又重新尝试连接建立时,这个任选参数应能由发送方添加到INIT数据块中。

主机名地址(11)
INIT发送方使用这个参数把其主机名(在其IP地址的位置中)传递到对等层。这个对等层负责解析这个主机名,用这个参数可以使连接工作通过NAT box进行工作

主机名:可变长度,该字段包含了按照RFC1123规定的“主机名句法”定义的主机名,主机名地址的解析不在本标准中规定,该参数中至少有一个非空的中止符包含在主机名字符串中,并且应包含长度。

支持的地址类型(12)
NIT的发送方使用该参数列出其所支持的全部地址类型。

地址类型(16bit无符号整数):该参数使用对应的地址类型的类型值(例如:IPv4=5,IPv6=6,主机名=11)

实例分析:


注:Parameter padding字段用于参数填充,使其对齐或成为8的整数倍(二进制),能够进行差错检验和计算

SCTP INIT_ACK 数据报



报文实例:

SCTP COOKIE_ECHO数据报



报文实例:

SCTP COOKIE_ACK 数据报



报文实例:

SCTP SACK数据报

字段 长度 意义
类型 1
标志 2 设为全0并由接收方忽略
长度 4
累积TSN确认 4 该参数包含了在收到TSN序列的间隔前的最后一个TSN值
窗口大小 2 规定了SACK的发送方的接收缓冲容量的字节数。
间隔ACK块数 2 用来指示SACK数据块中包含的间隔证实块的数目
重复TSN数 2 该字段包含了该端点收到的重复的TSN的数目
间隔ACK块结束偏移量 2 该字段用来指示这个间隔整数块的起始TSN偏移,为了计算实际的TSN号码必须要用累积TSN证实加上偏移号码。
重复TSN 4 用来指示一个在上一个SACK发送后收到的TSN重复的个数。每次一个接收者收到一个重复的TSN(在发送SACK前),则把这个TSN加到重复的TSN列表中。

SCTP DATA块




报文实例:


注:该SACK+DATA中的DATA未发生分片,且按序。

注:以下两个报文为另一次连接建立所抓到的,所以固定首部中的验证标志位与上面不同。

SCTP HEARTBEAT块



(意义:用于检测连接对象是否已经断开)
报文实例:

SCTP HEARTBEAT_ACK块


报文实例:

Windows下完成SCTP简单抓包相关推荐

  1. LiveGBS流媒体平台GB/T28181常见问题-播放花屏、没有通道、无法语音对讲等情况下Windows和Linux中如何抓包

    LiveGBS播放花屏.没有通道.无法语音对讲等情况下Windows和Linux中如何抓包 1.第一步:抓包工具准备 1.1.Linux 1.2.windows 2.第二步:找到设备出口ip 3.第三 ...

  2. 【CyberSecurityLearning 13】简单抓包及 IP包头分析与 路由原理(一)

    目录 一.简单抓包 二.静态路由 ​2.1 IP数据包格式(加强记忆★) 2.2 路由概述 2.3  路由表的形成 实验:实现全网互通 2.4 静态路由 2.5 默认路由​ 2.6 交换与路由对比 2 ...

  3. Mac下也能用抓包工具Fiddler

    一直以来都是在Windows底下工作,对于抓包工具,自然而然当属Fiddler最最出色.不过Fiddler是在.Net runtime环境下运行的,所以想要在Mac下使用,有些困难. 在试过了Char ...

  4. 安卓抓包工具 linux,Android 下使用tcpdump网络抓包方法

    Android 下使用tcpdump网络抓包方法 抓包需要tcpdump以及Root权限,tcpdump在本文后有下载. 首先把tcpdump传进手机,用adb命令(放SD卡有时会有问题,我一次可以用 ...

  5. iOS 10.3下解决Fiddler代理抓包ssl证书信任问题

    iOS 10.3下解决Fiddler代理抓包ssl证书信任问题 参考文章: (1)iOS 10.3下解决Fiddler代理抓包ssl证书信任问题 (2)https://www.cnblogs.com/ ...

  6. mac下HTTP与HTTPS抓包

    mac下HTTP与HTTPS抓包 HTTP抓包流程 1. 在mac 电脑 上下载代理软件,charlse或者fiddler均可以: 下载方法:http://www.charlesproxy.com/可 ...

  7. linux下wireshark使用笔记本网卡抓包配置

    linux下wireshark使用笔记本网卡抓包命令: 可以先用ifconfig查看本地无线网卡,这里为wlp0s20f3 sudo killall -9 wpa_supplicant sudo if ...

  8. Windows和夜神模拟器上抓包程序mitmproxy的安装以及使用

    ** windows ** 一.介绍说明 mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler.Charles的功能,只不过它是一个控制台的形式操作. mitmproxy还 ...

  9. linux怎么抓sip包,Ubuntu下使用Wireshark进行抓包分析(含SIP和RTP包)

    遇到需要在Linux下抓包分析的问题,便用到了wireshark,非常强大的抓包分析软件,直接在系统里面安装,然后使用明亮抓包即可! 我这里用的是Ubuntuserver版,执行安装: 1.apt-g ...

  10. 硬干货!一张图弄清楚在ESXi下如何进行网络抓包

    对于网络问题,抓包一直是一个比较简单方便的"大招".由于在esxi环境下可以在不同的层面下抓包,因此在什么地方抓包,怎么抓包一直让我觉得很复杂,于是每次操作之前我都要再检查一次手册 ...

最新文章

  1. extra加ing_英语词汇学各个章节的内容
  2. 在AI Studio创建课程 : 2021 ANN课程
  3. hbuilder ios 打包失败,无法导入p12证书的解决方案
  4. Git cherry-pick 使用总结
  5. POJ - 1328 Radar Installation(贪心+思维)
  6. 静态网站任何优化怎么设置_网站关键词怎么设置对网站推广优化有利?
  7. 哪种代理适合用于Web数据采集
  8. java in thread main_JAVA报错:Exception in thread main……求帮助?
  9. micro-mvc与主流mvc整合说明
  10. paip.输入法编程----删除双字词简拼
  11. 网络游戏加速器软件市场现状研究分析-
  12. 微信小程序引入iconfont图标
  13. 高数_关于e两个重要的积分公式
  14. linux7启动ib子网管理器,IB_Switch交换机SB7890配置及Band网卡
  15. piranha 适用于CLIP-Seq 与 RIP-Seq 的 peak caller
  16. 合同节水服务认证国内怎么申请?
  17. JAVA-API(一)
  18. 通过php上传和下载rar/zip压缩文件
  19. 雷军2001年去搜狐见张朝阳不是为面试 而是给卓越网拉融资
  20. 阿里蚂蚁金服4面面经(已拿Offer)附答案!突如其来的意外之喜

热门文章

  1. 数据结构—哈夫曼编码
  2. 测试网卡芯片型号的软件,查看电脑无线网卡型号_查看无线网卡芯片型号
  3. macOS: 卸载 Flash Player 迎接 2021
  4. 职称计算机 河南,2017年河南职称计算机报名入口
  5. 河南省邓州市计算机学校,2019年邓州市职业技术学校招生简章及招生专业
  6. “磁碟机”病毒分析报告
  7. SOCKS5协议的原理和应用
  8. ue4风格化材质_风格化材质 - 游戏蛮牛 - Unreal中文翻译用户手册
  9. jmail邮件服务器,jmail.smtpmail的核心代码:
  10. Rainmeter天气不能更新、win地图不能检测定位