gpt4 book ai didi

linux - 被动操作系统指纹更改为 MacOS

转载 作者:太空宇宙 更新时间:2023-11-04 04:32:29 30 4
gpt4 key购买 nike

Ubuntu 16.04 服务器,在服务器上发起代理(3proxy)。当通过代理与 macbook 连接时,操作系统指纹被定义为 Linux 3.11 并且从不 [模糊] ( http://witch.valdikss.org.ru/ )目前,通过/etc/sysctl.conf 内核设置进行非复杂操作,结果会更改为 Android(Linux 2.2.x-3.x [通用] [模糊])和 Windows NT。

需要更改操作系统指纹,以便 http://witch.valdikss.org.ru/将连接定义为 Mac OS X [通用] [模糊]

最佳答案

根据 p0f README,“最有值(value)的 TCP 指纹信号之一”是 TCP 选项布局。应用于 MacOS 和 Linux 指纹条目,这意味着我们应该更改布局:

mss,sok,ts,nop,ws

mss,nop,ws,nop,nop,ts,sok,eol+1

这不能通过 sysctl 来完成,因为 Linux 内核将此命令硬编码到 tcp_connect 系统调用中:https://github.com/torvalds/linux/blob/bab5c80b211035739997ebd361a679fa85b39465/net/ipv4/tcp_output.c#L458

因此,您必须编写 netfilter 内核模块来稍后处理 TCP 选项,就像 TCPMSS 模块所做的那样: https://github.com/torvalds/linux/blob/master/net/netfilter/xt_TCPMSS.c .

无论是修补tcp_connect还是编写自定义netfilter模块都需要强大的内核编程技能。

另一个选择是通过用户空间程序以某种方式拦截 TCP SYN/SYN+ACK 数据包(也许带有原始套接字的 nfqueue 或 tproxy 可以帮助),破坏它并写回内核。这会显着损害性能,但更容易实现。

UPD:我在 google 上搜索了一些基于 nfqueue/python 的技术的有效且肮脏的示例:https://forums.hak5.org/topic/33532-p0f-mangler/

关于linux - 被动操作系统指纹更改为 MacOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52839623/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com