1
23
当建立TCP连接时,每侧生成一个随机数作为其初始序列号。这是一个强随机数:如果Internet上的任何人都能猜到序列号,就会出现安全问题,因为他们很容易伪造数据包来注入TCP流。 此后,对于传输的每个字节,序列号将增加1。ACK字段是从另一侧发送回确认接收的序列号。 RFC793(最初的TCP协议规范)将有很大帮助。 |
2
5
我还有同样的工作要做。
首先,将随机生成初始序列(0-4294967297)。
然后,接收器将计算它接收到的数据的长度,并发送ACK
如果你想展示它,试着在wireshark中嗅探一个包,然后跟踪TCP流并查看场景… |
3
4
如果我正确理解你的话-你想装一个 TCP SEQ prediction attack . 如果是这样的话,你会想研究一下你的目标操作系统的细节 Initial Sequence Number 发电机。 在相当多的 all the major OS's 他们的发电机是可预测的。我没有密切关注这一影响,但我的理解是,大多数供应商都将补丁发布到 randomize their ISN increments . |
4
2
似乎其余的答案都解释了在哪里可以找到关于ACK的详细和官方信息,也就是 TCP RFC 下面是一个更实用和“易于理解”的页面,我在执行类似的实现时发现它也可能有帮助 TCP Analysis - Section 2: Sequence & Acknowledgement Numbers |
5
1
RFC 793 第3.3节包括序列号。上次我在那个级别编写代码时,我认为我们只是为持久化的序列号保留了一个向上计数器。 |
6
1
这些值引用数据包的有效负载起始相对于连接的初始序列号的预期偏移量。
|
7
1
从两侧随机生成数字,然后增加发送的八位字节数。 |
8
0
建立连接后序列号将递增。新连接的初始序列号是随机选择的,但许多操作系统都有一些半随机算法。RFC是了解更多信息的最佳场所 TCP RFC . |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |