关于用软件重发数据包的问题!

yanghoyu 2003-06-26 04:03:56
请问谁知道,当你用软件(例如netxray)截取到一个数据包以后,想把它重发,有什么要注意的地方?
情况一:我把一个用ping产生的数据包重发,接收方是可以收到的!
情况二:我把一个用net send 命令产生的数据包截取了,但是重发的时候,对方是收不到的
现在我成功的就只有ping命令产生的数据包可以重发
...全文
121 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanghoyu 2003-07-23
  • 打赏
  • 举报
回复
高手们,我需要你们的帮助啊!!!!
qunzihoney 2003-07-08
  • 打赏
  • 举报
回复
数据报序列号是和传送时间有关的一个数,具体算法是有的,不过我记得有随机成分在里面,一时找不到,请高人来讲将。和你一起关注。
yanghoyu 2003-07-08
  • 打赏
  • 举报
回复
那我该这样实现重新发送,而且是服务器承认的
数据包序列号有什么算法和规律吗?
qunzihoney 2003-06-27
  • 打赏
  • 举报
回复
SYN Flood利用的就是正常的TCP协议,他只向服务器发送SYN请求,但是不确认服务器返回的SYN/ACK。这样,很多台机器同时这样做,服务器就受到很多连接请求,把队列占满,同时得不到确认,就一直等待,直到超时。这期间,正常的TCP连接就被挂起,得不到相应的响应,反映到用户眼前的就是“无法连接”的信息。
Iamapuma 2003-06-27
  • 打赏
  • 举报
回复
楼上兄台看来是搞网络的吧,是软件工程师还是学生?有空聊聊:)
qunzihoney 2003-06-26
  • 打赏
  • 举报
回复
呵呵,楼上说得好,我再谈谈TCP的握手。
TCP连接有三次握手,算是一个最基本的身份验证。Tcp报头中有两个SEQ串,一个是发送方的,一个是确认方的。在连接的时候,客户端C发送一个请求连接的包,里面有一个SEQc,发给服务器S,同时,SYN置位;S收到后,确认这个包,同时把自己的SEQs发给C,同时置位ACK,并告知C返回的应该是SEQs+1;C在确认这个包。这样,连接就建立了。
你截获的数据报应该是第二次握手的包,然后发出去,对方主机会认为是非法连接而中断的。这时应该返回一个rst,或者干脆弃包。
Iamapuma 2003-06-26
  • 打赏
  • 举报
回复
呵呵,没有回答你啊,那我就抛砖引玉吧:)
因为ping包实际是icmp数据包,不存在tcp连接的问题。而net send使用的是tcp连接通讯,所以会存在数据包序列号的问题,你只简单把截获的数据包重发,系统是不认重发的序列号的:)所有tcp连接中重发都存在这种问题。
yanghoyu 2003-06-26
  • 打赏
  • 举报
回复
为什么没有人回答我的问题的?高手们啊,帮帮我吧!

6,185

社区成员

发帖
与我相关
我的任务
社区描述
windows网络管理与配置
社区管理员
  • 网络管理与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧