如何更好地控制 Android 上的网络数据包
我正在设计一个需要对 IP 数据包进行深度控制的应用程序。查看 Android 开发人员网站上的参考指南,我发现对来自 java.net:SocketOptions 和 java.net:DatagramPacket 的数据包的控制非常有限。具体来说,我希望控制数据包中的各个位来设置 TCP 标志、SYN/ACK/RST 等。根据文档,我假设我无法在 Android 提供的 Java API 中执行此操作,我猜我必须以其他方式执行此操作?
有人对此有任何见解吗?
I'm looking to design an application that will require some deep control over IP packets. Looking over the reference guide on the developers site at Android I see very limited control over packets from java.net:SocketOptions and java.net:DatagramPacket. Specifically I'm looking to control the individual bits within the packet to set TCP Flags, SYN/ACK/RST, and so forth. Based on the docs I am assuming I cannot do this within the Java API provided by Android and I'm guessing I'll have to do it some other way?
Anyone have any insight on this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
所以看来 SDK 不能满足我的需要。 NDK 或许可以,但进一步思考,我相信即使使用它也需要 root 权限来构建原始数据包。由于我目前无意root我的手机,所以这一切都将被搁置。
So it appears the SDK cannot do as I had needed. The NDK may be able to but on further thought I believe even using that will require root privs to construct raw packets. As I have no intent to root my phone at this time, this will all be put on hold.