我目前正在开展一项涉及通过TC协议进行数据传输的项目。
我的操作系统是Windows 2008 R2 Enterprise。
首先,我必须承认我在网络方面很新手。 尽管如此,我已经安装了一个Web服务器(非常感谢Windows平台和Internet)。
一组其他学生必须通过TCP连接到服务器并发送仅为字符串的数据。他们使用的是非用户友好的语言(CC864 command)。
现在,他们可以连接到服务器,我可以看到他们通过wireshark连接(三次握手):http://oi44.tinypic.com/30kbs6r.jpg
我没有找到这个简单问题的直接答案就读了很多文档:它是否已经存在一个应用程序监听端口并在发送某些数据时从这些端口获取数据? 如果不是,我会感到惊讶。但如果不是,你建议我做什么?我看到许多网站解释了如何在C#中创建一个监听器和接收器服务器。
事情是:奇怪的是,对于已经侦听传入连接并处理不是非常简单的请求的Web服务器,没有接收和保存简单的TCP请求......
我希望我尽可能地清楚。 我为我的近似英语道歉,感谢你的时间。
再见
答案 0 :(得分:0)
我为我的学位论文做了一个类似的项目:
C# TCP/IP Protocol Stack for Testing Network Applications
基本上如果你想能够在另一个程序中监听TCP通信(不使用低级(有时是未记录的)winapi调用,我建议你学习SharpPcap,这是Wireshark中使用的WinPcap的包装。
您无法直接拦截TCP流量的原因是您当前的网络堆栈当然不能轻易被“嗅探”,这实际上是您尝试做的事情(通过尝试从网络堆栈读取TCP数据) )并且SharpPCap内核模式驱动程序通过添加一个额外的“层”来对此进行排序,该层将数据传递到您的普通网络堆栈并允许您嗅探。
这是一个很棒的主题和很多乐趣(有很多真实世界的应用程序)
祝你好运和HTH