
数据要在通讯系统中必须要先经过某些处理,才能在网络当中传递,例如将数据切割为数个区块之后,才能在网络上依照某种通讯协议来传送,这种过程就好像将包裹打包一样,称为分封。
每一个IP封包都有一个16bit的唯一识别码。从OSI的网路层级知识里面知道当程式产生的数据要通过网路传送时都会被拆散成封包形式发送当封包要进行重组的时候这个ID就是依据了。
扩展资料
从IP封包规格中看到,前面的6列为header如果Options和Padding没有设定的话,也就只有5列的长度所以这里的长度为“5”。每列有32bit也就是4byte,那么5列就是20byte了,20这个数值换成16进位就成了0x14,所以当封包标头长度为最短的时候,这里数值最终会被换算为 0x14 。撷取的ICMP封包,其中属于IP部份的开头,在这里看到的数值是“45”前面的“4”就是版本号数而后面的“5”则是标头长度。
当封包被切开之后,由于网路情况或其它因素影响,其抵达顺序并不会和当初切割顺序一至的。所以当封包进行切割的时候,会为各片段做好定位记录,所以在重组的时候就能够依号入座了。
参考资料来源:百度百科-封包 (IP协议封装)
截获外挂发送和接收的封包
除了通过修改代码来实现的功能以外,很多的功能都是通过修改封包来实现的,要修改封包,首先要能截获它。
第一步是要跟踪出发和收的位置,我以后会提到,找到位置以后,有2个办法,一是在那个位置加一
个jmp语句,跳到你的处理函数位置,处理完后,再跳回来,这种方法要求比较高,需要处理好很多事情,另一种办法
是往那个位置写条能造成例外的指令,比如int 3,然后用DebugActiveProcess调试游戏进程,这样每当游戏执行到那个
位置的时候,就会停下来,到外挂程序里面去,等外挂程序处理完以后,用ContinueDebugEvent 继续运行程序。
以上就是关于封包是什么,有什么用,可以干什么全部的内容,包括:封包是什么,有什么用,可以干什么、如何截获某一程序的封包、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)