我正在做一个Linux上的服务器服务程序,它处理发送到它侦听的套接字的包。已经有一个旧的这样的服务在端口上执行它的工作,并且 我无法停止旧的服务器服务,我需要将这些软件包发送到旧服务器,并将它们发送到我的新服务器服务,以确保它能正常运行。我如何获得软件包并将它们反馈给我的新服务?有没有这样一个工具,或者是否有一些像tcpdump这样的工具已经提供的功能? 谢谢:)如何将网络接口或某个端口收到的包保存在文件中,并在需要时重新发送收到的包?
回答
对于像UDP这样的无连接协议,您可以使用tcpdump记录数据并使用netcat重新发送数据。对于像TCP这样的面向连接的协议,我认为并不那么容易,因为TCP期望你的数据包在确认的确认号码中具有适当的值,这在你的记录数据包和新建立的TCP连接之间会有所不同。在这种情况下,您需要手动建立连接(即为此设置自定义应用程序)并仅重新发送有效负载。也许,有一些现成的应用程序(从tcpdump格式提取有效载荷并将其发送到远程),我不知道。但编写这样的应用程序很容易。
顺便说一句,如果你的服务器维持自己的某种排序顺序,即使是UDP,同样的事情也适用,重发包可能有你的服务器不希望接收到的序列号。
感谢您的帮助,重新发送udp pkg对我来说已经足够了,但是您能更具体一些吗,如何使用tcpdump来存储一些软件包并使用netcat重新发送它们? – king6cong
'tcpdump'有'-w'选项,请参阅它的联机帮助页。不幸的是,文件将包含无数据包的原始数据包,因此在将数据提供给netcat的标准输入之前,您需要自行将文件拆分为原始数据包。 –
- 1. 接收短信包含某些代码或文本,并发送网络请求
- 2. 使网络接口接收(听到)数据包
- 3. 并发发送和接收数据在一个端口与udpclient
- 4. 端口在错误的网络接口上收听
- 5. 发送和接收通过串行端口.txt文件在c#
- 6. Python:从端口接收UDP数据包
- 7. 接收或重新发送android收到广播
- 8. 接收端口80上发送到webservice的gps数据
- 9. 如何在同一端口上发送和接收UDP?
- 10. 如何发送文件到com1端口?
- 11. 如何通过BizTalk FTP接收端口接收特定文件
- 12. 发送数据包(PCAP,WLAN,C)到接收器,无需连接接收
- 13. 当收到UDP数据包时,该端口与监听端口不匹配
- 14. 如何Gmail或WhatsApp的网络即时接收新邮件?
- 15. TCP如何在Java中发送/接收实时大数据包?
- 16. 如何在本机收件箱中收到端口定向的短信?
- 17. 如何接收到特定端口的文本短信。
- 18. 数据包如何从发送方转发到接收方
- 19. 将文件数据发送到多个发送端口biztalk 2010
- 20. 连接两个UDP客户到一个端口(发送和接收)
- 21. 如何更新C#窗口与接收到的串口串口文本框?
- 22. 是否可以将scapy绑定到任何端口来接收数据包?
- 23. 如何将wireshark数据包重新发送到原始文件?
- 24. Git的接收/上传包需要所有的内存在推
- 25. 如何修改和重新发送网络中的数据包
- 26. 未收到Android设备的所有网络接口
- 27. 端口编号如何工作以接收MODBUS TCP数据包?
- 28. TCP中的多重发送()或接收()
- 29. 在Linux中运行时计算发送和接收的PING包
- 30. 向客户端发送UDP数据包时,服务器是否接收到它刚发送的数据包?
尝试询问http://serverfault.com/也 – Quamis