是否可以在 Java 中更改 TCP header ? 如果可以的话,有没有【更改标题】的方法?
最佳答案
从问题标题(“如何更改 Java 中的源 ip”)中回答更狭窄的问题,您可以在连接之前将套接字绑定(bind)到本地 IP 地址和/或端口到达目的地。
您绑定(bind)的IP地址必须是您的机器拥有的IP地址(否则,数据包如何返回您的机器?)。您还可以使用任何未使用的非保留端口号来连接。
Socket socket = new Socket();
socket.bind(new InetSocketAddress(9999));
// or: socket.bind(new InetSocketAddress(InetAddress.getByAddress(...), 9999));
socket.connect(new InetSocketAddress(InetAddress.getLocalHost(), 80));
更一般地说,答案是不,您不能随机更改 TCP header 。但是您可以从 Java 进行大量设置,这些设置将影响 TCP header 中的内容。
关于java - 如何在Java中更改源IP(tcp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27073384/