首页新闻找找看学习计划

c# 怎样分段发包 Wireshark截获为[TCP segment of a reassembled PDU]

0
悬赏园豆:100 [待解决问题]

我想用C#模拟发包,要求发送的包用Wireshark截获的结果是这样:

 

我发现用C#的socket无法实现,请教各位大神, 用C#还有没有其他办法实现?

Bay-Max的主页 Bay-Max | 初学一级 | 园豆:108
提问于:2016-12-27 16:39
< >
分享
所有回答(4)
0

这个和代码没关系了。这是tcp/ip中tcp对超过mtu大小的数据做了分包。

Daniel Cai | 园豆:10374 (专家六级) | 2016-12-27 18:54

你说的对,但是c#没有办法操作这种分包,有人说要用更底层的语言实现

支持(0) 反对(0) Bay-Max | 园豆:108 (初学一级) | 2016-12-29 16:23
0

把长度计算好,试试分两次写网卡缓存。

花飘水流兮 | 园豆:10340 (专家六级) | 2016-12-27 20:34
0

如果想要模拟底层发包,可以试试Pcap.NET,我做过一个简单的,可以参考:http://www.cnblogs.com/wilber2013/p/4853674.html

田小计划 | 园豆:202 (菜鸟二级) | 2016-12-28 17:46

你写的东西不错哦,真正研究中。。。可能 是我想要的。

支持(0) 反对(0) Bay-Max | 园豆:108 (初学一级) | 2016-12-29 16:25
0

不用TcpClient之类的,你就直接对着socket发送ip包。发送原始的IP包,重新模拟tcp协议,可以实现的。 

简单地理解吧,tcp 的包,就是基于ip包。不用什么底层,还是socket。找一些p2p的资料就会懂。

码有钱 | 园豆:13 (初学一级) | 2017-01-02 23:21

你的思路不错,有源码参考吗?

支持(0) 反对(0) Bay-Max | 园豆:108 (初学一级) | 2017-01-04 09:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册