如果您有防火墙(如 AFWall),如何启用 ADB 无线?仅仅将 adb 添加到白名单似乎还不够。 是不是必须要开放5555端口?我是一个在没有 GUI 的情况下配置固件的菜鸟,没有这个选项。 有什么想法吗?
Arno 的解决方案对我不起作用,但以下自定义脚本可以,我在 AFWall 的官方 wiki 上找到了它(我只修改了 iptable 链的名称):
# Temporarily allow network adb access when you need it at port 5555 (for Android Studio 5005)
ADB_UID=10004
SHELL_UID=2000
SAFE_NETWORK=192.168.0.0/24
# Allow adb (port 5555)
$IPTABLES -I "afwall" -s $SAFE_NETWORK -p tcp --dport 5555 -j RETURN
$IPTABLES -I "afwall" -m owner --uid-owner $ADB_UID -d $SAFE_NETWORK -m conntrack --ctstate ESTABLISHED -p tcp --sport 5555 -j RETURN
$IPTABLES -I "afwall" -m owner --uid-owner $SHELL_UID -d $SAFE_NETWORK -m conntrack --ctstate ESTABLISHED -p tcp --sport 5555 -j RETURN
# Remove transproxy for adb output
$IPTABLES -t nat -I OUTPUT -d $SAFE_NETWORK -m conntrack --ctstate ESTABLISHED -p tcp --sport 5555 -j ACCEPT
您仍然需要调整
SAFE_NETWORK
,也可以只是一个IP地址。
奖励:如果您碰巧使用scrcpy-android(即,将屏幕镜像到另一台 Android 设备),您还必须在第三次 iptables 调用中打开端口 7007,如下所示:
$IPTABLES -I "afwall" -m owner --uid-owner $SHELL_UID -d $SAFE_NETWORK -m conntrack --ctstate ESTABLISHED -p tcp -m multiport --sport 5555,7007 -j RETURN
(注意添加了
-m multiport
和,7007
)
你可以试试这个
iptables -F afwall-reject
在另一个论坛中获得很好的提示:使用此行添加自定义脚本可以解决问题:
/system/bin/iptables -A "afwall-wifi" -d <IP_of_PC> -p tcp -m owner --uid-owner <UID_of_ADB_service> -m tcp -j ACCEPT