TCP穿透NAT之如何获取connect函数发出的SYN包的序列号

marlboro_1999 2013-07-23 02:28:23
程序调用connect函数向对方发起一个连接请求时,会向对方发送一个SYN包请求第一步握手。但此时程序本身如何利用原始套接字捕获这个SYN包从而知道这个SYN包的初始序列号呢?因为随后的TCP穿透中需要使用一个原始套接字来模拟这个SYN包实现三次握手建立连接,既然是模拟,就需要知道这个SYN包的序列号。故求大侠们帮忙。
貌似是使用原始套接字设置SIO_RCVALL选项以接收所有的包,但SYN包的结构如何定义?使用IP头?
如何用原始套接字模拟一个SYN包和一个ACK包发送给对方?这些是TCP穿透NAT建立点对点的关键,希望懂的朋友尽力帮忙,到时候做出来了开源之。
...全文
294 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rxngzq 2014-01-09
  • 打赏
  • 举报
回复
大侠,求分享,急需!!!!!
rxngzq 2014-01-09
  • 打赏
  • 举报
回复
你好,求助,能不能分析一下你的代码啊??
backylee 2013-11-27
  • 打赏
  • 举报
回复
牛,折腾好几天了,指教下:)
marlboro_1999 2013-07-26
  • 打赏
  • 举报
回复
要分的来这里报名
marlboro_1999 2013-07-26
  • 打赏
  • 举报
回复
无人问津呀,还好自己搞出来了。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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