我想知道的方式來關閉從一個不同的進程中存在的套接字連接(在Windows)。我沒有處理套接字,我只知道端口號。我想我可能需要編寫內核級代碼來執行此操作。 C#或C++中的任何引用?
回答
有很多方法可以做到這一點。
其中之一是注入一個DLL到目標進程,它將等待一個包或其他信號由主進程發送,然後關閉套接字。
或者你可以只發送一個數據包已經打開的插口,將觸發異常,因此,插座的缺失,但我懷疑這將是比任何注入DLL更容易。
或者你可以發送一個FIN信號給開放的套接字。
謝謝克里斯蒂安。你有這樣的代碼示例嗎?請注意,我無法修改目標進程的源代碼。你的意思是注射會在運行時發生,對吧? – ActiveLeo
@ActiveLeo我可以提供注射的代碼。但是,您很可能必須對目標進程進行逆向工程才能找到套接字的地址。如果你嘗試發送數據包到一個已經打開的套接字,這篇文章可能會有幫助http://stackoverflow.com/questions/11876083/using-a-third-party-application-to-send-data-to-an-already -open-tcp-connection – Christian
我知道端口號,但是什麼是套接字地址? – ActiveLeo
- 1. 如何連接和關閉插座?
- 2. 訪問socket.on(「連接」)封閉外插座
- 3. 如何關閉所有客戶端插座連接的升壓asio服務器插座
- 4. 網絡接口關閉時的插座狀態
- 5. 插座將無法連接到端點
- 6. Java的插座中的許多併發連接意外關閉
- 7. 端口80關閉連接或拒絕連接
- 8. 連接到插座
- 9. 插座自動關閉?
- 10. 檢查插座關閉
- 11. 插座關閉 - 從API
- 12. 關閉插座問題
- 13. 客戶端關閉連接
- 14. 端口vs redis的插座
- 15. 多端口插座限制?
- 16. Android連接到網絡連接插座
- 17. 將PC與插座連接
- 18. 中斷插座連接
- 19. 無法連接iPad插座?
- 20. 多次連接到插座
- 21. VBA插座連接2010
- 22. 可連接插座的Android
- 23. 連接插座給了ConnectionRefusedError
- 24. 插座連接android到iphone
- 25. 連接到與IPAddress.Any插座
- 26. 藍牙插座連接
- 27. 無法連接插座
- 28. 連接錯誤插座
- 29. 無法連接的插座
- 30. 多個連接Lua插座
也可能有所幫助:http://stackoverflow.com/questions/1337392/how-can-i-enumerate-sockets-on-a-given-windows-process – IAbstract