2016-09-28 67 views
-3

我想實現一個程序,能夠單獨發送TCP數據包。理想情況下,我想將數據包發送到計算機的端口並進行處理。這意味着我試圖在沒有客戶端/服務器文件對的情況下執行此操作。套接字編程-TCP基礎

但是,我發現真的很難做到這一點,因爲我看到的任何地方都提到了客戶端和服務器文件。如果我嘗試自行運行客戶端文件或服務器文件,它甚至不能正常工作,因爲它們彼此依賴。

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

+1

你想要什麼沒有意義。 – EJP

+0

它自己運行服務器有什麼好處,沒有什麼可以連接到它?或者在沒有任何東西的情況下運行客戶端來連接另一端?如果您向端口發送數據,則必須有一個偵聽該端口的服務器才能接收數據並對其執行操作。該端口不能自行工作。 TCP不是你想要的;很難說正確的解決方案是什麼,因爲你沒有提供任何關於你正在嘗試完成的有意義的細節。谷歌*進程間通信*加上你的目標操作系統,並做一些研究。 –

+0

必須有一些程序監聽你發送數據包的端口,否則目標計算機的網絡堆棧將簡單地丟棄數據包。如果您不想編寫自己的服務器程序(如telnetd或netcat或類似服務器),則可以使用預先存在的服務器程序。 –

回答

0

不知道爲什麼你想這樣做。但爲了發送這樣的數據包,您需要使用API​​原始套接字(SOCK_RAW)而不是TCP。

所以你可以發送你的「精心製作的TCP」有效載荷的IP數據包。