2016-09-28 63 views
-3

我想实现一个程序,能够单独发送TCP数据包。理想情况下,我想将数据包发送到计算机的端口并进行处理。这意味着我试图在没有客户端/服务器文件对的情况下执行此操作。套接字编程-TCP基础

但是,我发现真的很难做到这一点,因为我看到的任何地方都提到了客户端和服务器文件。如果我尝试自行运行客户端文件或服务器文件,它甚至不能正常工作,因为它们彼此依赖。

是否有可能做我想要的东西?

+1

你想要什么没有意义。 – EJP

+0

它自己运行服务器有什么好处,没有什么可以连接到它?或者在没有任何东西的情况下运行客户端来连接另一端?如果您向端口发送数据,则必须有一个侦听该端口的服务器才能接收数据并对其执行操作。该端口不能自行工作。 TCP不是你想要的;很难说正确的解决方案是什么,因为你没有提供任何关于你正在尝试完成的有意义的细节。谷歌*进程间通信*加上你的目标操作系统,并做一些研究。 –

+0

必须有一些程序监听你发送数据包的端口,否则目标计算机的网络堆栈将简单地丢弃数据包。如果您不想编写自己的服务器程序(如telnetd或netcat或类似服务器),则可以使用预先存在的服务器程序。 –

回答

0

不知道为什么你想这样做。但为了发送这样的数据包,您需要使用API​​原始套接字(SOCK_RAW)而不是TCP。

所以你可以发送你的“精心制作的TCP”有效载荷的IP数据包。