Windows下完成SCTP简单抓包
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的实现是在两个机器之间进行的,所以要另外一台机器也要和你自己安装相同的工具(以上两个)。
四、实验过程
- 由于Windows自带防火墙的存在,当带有防火墙的主机收到了SCTP的INIT信息后,防火墙会直接将该包丢弃,所以在实验开始前关闭两个主机的防火墙
- S端先以管理员模式打开echo_server,C端在命令提示符窗口中打开echo_tool(先开S端,再开C端)
- 在C端命令中输入 echo_tool -d 192.168.1.108(S端IP),即可与S端建立连接,并可以在抓包软件中看到SCTP四握手,等待大约30秒即可收到SCTP的heartbeat报文与heartbeat_ACK报文
C端命令中输入echo_tool -d 192.168.1.108(S端IP)-n 1,即可在上述过程之外再抓到C端与S端互发的DATA数据块,其中双方的确认方式均为选择确认(确认模式固定,发包内容大小固定,可能无法改变?)
由于程序设置的问题,无法主动正常断开链接,只能通过ctrl+c异常断开,故在3.4步骤后续中抓到的包为ICMP协议不可达(C段程序断开,协议信息无法送达)
其他参数可由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简单抓包相关推荐
- LiveGBS流媒体平台GB/T28181常见问题-播放花屏、没有通道、无法语音对讲等情况下Windows和Linux中如何抓包
LiveGBS播放花屏.没有通道.无法语音对讲等情况下Windows和Linux中如何抓包 1.第一步:抓包工具准备 1.1.Linux 1.2.windows 2.第二步:找到设备出口ip 3.第三 ...
- 【CyberSecurityLearning 13】简单抓包及 IP包头分析与 路由原理(一)
目录 一.简单抓包 二.静态路由 2.1 IP数据包格式(加强记忆★) 2.2 路由概述 2.3 路由表的形成 实验:实现全网互通 2.4 静态路由 2.5 默认路由 2.6 交换与路由对比 2 ...
- Mac下也能用抓包工具Fiddler
一直以来都是在Windows底下工作,对于抓包工具,自然而然当属Fiddler最最出色.不过Fiddler是在.Net runtime环境下运行的,所以想要在Mac下使用,有些困难. 在试过了Char ...
- 安卓抓包工具 linux,Android 下使用tcpdump网络抓包方法
Android 下使用tcpdump网络抓包方法 抓包需要tcpdump以及Root权限,tcpdump在本文后有下载. 首先把tcpdump传进手机,用adb命令(放SD卡有时会有问题,我一次可以用 ...
- iOS 10.3下解决Fiddler代理抓包ssl证书信任问题
iOS 10.3下解决Fiddler代理抓包ssl证书信任问题 参考文章: (1)iOS 10.3下解决Fiddler代理抓包ssl证书信任问题 (2)https://www.cnblogs.com/ ...
- mac下HTTP与HTTPS抓包
mac下HTTP与HTTPS抓包 HTTP抓包流程 1. 在mac 电脑 上下载代理软件,charlse或者fiddler均可以: 下载方法:http://www.charlesproxy.com/可 ...
- linux下wireshark使用笔记本网卡抓包配置
linux下wireshark使用笔记本网卡抓包命令: 可以先用ifconfig查看本地无线网卡,这里为wlp0s20f3 sudo killall -9 wpa_supplicant sudo if ...
- Windows和夜神模拟器上抓包程序mitmproxy的安装以及使用
** windows ** 一.介绍说明 mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler.Charles的功能,只不过它是一个控制台的形式操作. mitmproxy还 ...
- linux怎么抓sip包,Ubuntu下使用Wireshark进行抓包分析(含SIP和RTP包)
遇到需要在Linux下抓包分析的问题,便用到了wireshark,非常强大的抓包分析软件,直接在系统里面安装,然后使用明亮抓包即可! 我这里用的是Ubuntuserver版,执行安装: 1.apt-g ...
- 硬干货!一张图弄清楚在ESXi下如何进行网络抓包
对于网络问题,抓包一直是一个比较简单方便的"大招".由于在esxi环境下可以在不同的层面下抓包,因此在什么地方抓包,怎么抓包一直让我觉得很复杂,于是每次操作之前我都要再检查一次手册 ...
最新文章
- extra加ing_英语词汇学各个章节的内容
- 在AI Studio创建课程 : 2021 ANN课程
- hbuilder ios 打包失败,无法导入p12证书的解决方案
- Git cherry-pick 使用总结
- POJ - 1328 Radar Installation(贪心+思维)
- 静态网站任何优化怎么设置_网站关键词怎么设置对网站推广优化有利?
- 哪种代理适合用于Web数据采集
- java in thread main_JAVA报错:Exception in thread main……求帮助?
- micro-mvc与主流mvc整合说明
- paip.输入法编程----删除双字词简拼
- 网络游戏加速器软件市场现状研究分析-
- 微信小程序引入iconfont图标
- 高数_关于e两个重要的积分公式
- linux7启动ib子网管理器,IB_Switch交换机SB7890配置及Band网卡
- piranha 适用于CLIP-Seq 与 RIP-Seq 的 peak caller
- 合同节水服务认证国内怎么申请?
- JAVA-API(一)
- 通过php上传和下载rar/zip压缩文件
- 雷军2001年去搜狐见张朝阳不是为面试 而是给卓越网拉融资
- 阿里蚂蚁金服4面面经(已拿Offer)附答案!突如其来的意外之喜
热门文章
- 数据结构—哈夫曼编码
- 测试网卡芯片型号的软件,查看电脑无线网卡型号_查看无线网卡芯片型号
- macOS: 卸载 Flash Player 迎接 2021
- 职称计算机 河南,2017年河南职称计算机报名入口
- 河南省邓州市计算机学校,2019年邓州市职业技术学校招生简章及招生专业
- “磁碟机”病毒分析报告
- SOCKS5协议的原理和应用
- ue4风格化材质_风格化材质 - 游戏蛮牛 - Unreal中文翻译用户手册
- jmail邮件服务器,jmail.smtpmail的核心代码:
- Rainmeter天气不能更新、win地图不能检测定位