我想将SYN数据包发送到远程主机,现在的问题是,如果我使用任何.NET框架类,那么我就不能这样做了; 例如,TCP客户端获取主机IP和端口号并建立连接,与java中的ClientSocket类相同.
我想控制自己的连接建立; 我的意思是我想发送连接请求(SYN数据包)然后等待连接回复然后发送数据包.我知道没有外部库可能并不容易,所以如果有人可以指导我如何在C#或Java中完成它..
到目前为止,而不是对这两个答案进行评论...自 XP 以来,原始套接字在 Windows 中受到限制(恶意软件攻击的对策)。阅读以下:
http://msdn.microsoft.com/en-us/library/ms740548(v=vs.85).aspx
完成后,您当然可以根据 Mat 的 Java 答案或 Ritch 的 C# 答案,遵循他们的规则构建原始套接字。
它将受到严格的访问限制,并且无论哪种方式都非常依赖于系统。我不知道有一种方法可以完成 3 次握手并通过 TCP/UDP 传输数据(尽管我有兴趣听听)。
我想我应该对这个答案做一个快速修改。如果您不使用winsock而是使用不同的TCP堆栈,您可能可以获得您想要的东西(但这仍然不能在操作系统中直接使用)。将此作为示例:http://www.komodia.com/tcpip-library-v5-1/或之前的 SO 线程什么是流行的、多平台的、免费的开源套接字库