远程管理wordpress站群协达网站建设

当前位置: 首页 > news >正文

远程管理wordpress站群,协达网站建设,开通域名,wordpress html代码编辑器Android便携式WLAN热点分析 Platform: RK3368 OS: Android 6.0 Kernel: 3.10.0 文章目录 Android便携式WLAN热点分析分析Android开启WLAN热点的路由策略和防火墙便携式WLAN热点开启流程路由表路由策略iptables(防火墙) 用hostapd命令手动开启WLAN热点1.加载驱动2.配置wlan0 …Android便携式WLAN热点分析 Platform: RK3368 OS: Android 6.0 Kernel: 3.10.0 文章目录 Android便携式WLAN热点分析分析Android开启WLAN热点的路由策略和防火墙便携式WLAN热点开启流程路由表路由策略iptables(防火墙) 用hostapd命令手动开启WLAN热点1.加载驱动2.配置wlan0 IP地址3.运行hostapd4.配置IP路由5.使能ip forward6.配置iptables 分析Android开启WLAN热点的路由策略和防火墙 在Android系统中开启便携式WLAN热点也称为Wi-Fi热点涉及多个组件和层之间的交互。 便携式WLAN热点开启流程 应用层请求 用户通过系统设置或其他应用请求开启Wi-Fi热点。应用通过WifiManager的setWifiApEnabled()方法发送请求。 Framework层处理 WifiManager接收请求后调用WifiServiceImpl的setWifiApEnabled()方法。WifiServiceImpl进一步将请求传递给WifiController。WifiController通过WifiStateMachine状态机来处理热点开启的逻辑。WifiStateMachine决定需要进行的操作包括配置热点参数SSID、密码等并调用NetworkManagementService来执行具体的网络操作。 与Native层的交互 NetworkManagementService通过NativeDaemonConnector与本地守护进程netd进行通信。NativeDaemonConnector通过UNIX socket例如/dev/socket/netd向netd发送命令和数据。netd接收命令后解析并执行相应的操作。 配置文件生成 netd将接收到的热点配置SSID、密码、加密方式等写入到/data/misc/wifi/hostapd.conf文件中。这个配置文件是hostapd服务启动时用于配置Wi-Fi热点的关键文件。 启动hostapd服务 netd通过执行/system/bin/hostapd命令来启动hostapd守护进程。hostapd是一个开源的、用户空间的IEEE 802.11接入点AP和认证服务器。hostapd读取/data/misc/wifi/hostapd.conf配置文件并根据其中的配置来启动和管理Wi-Fi热点。 状态更新和反馈 一旦hostapd成功启动并配置好热点netd会通过socket将状态更新回传给Framework层。Framework层更新其内部状态并通过系统通知或其他方式告知用户热点已成功开启。
路由表 用ip route show table all命令查看显示所有路由表中的路由信息,对比打开热点前新增了以下: 10.0.0.0/16 dev wlan0 table local_network proto static scope link 10.0.0.0/16 dev wlan0 proto kernel scope link src 10.0.254.1 broadcast 10.0.0.0 dev wlan0 table local proto kernel scope link src 10.0.254.1 local 10.0.254.1 dev wlan0 table local proto kernel scope host src 10.0.254.1 broadcast 10.0.255.255 dev wlan0 table local proto kernel scope link src 10.0.254.1 fe80::/64 dev wlan0 table 1004 proto kernel metric 256 unreachable default dev lo table 0 proto kernel metric 4294967295 error -101 local fe80:: dev lo table local proto none metric 0 local fe80:: dev lo table local proto none metric 0 local fe80::2250:e7ff:fe53:6c8a dev lo table local proto none metric 0 ff00::/8 dev wlan0 table local metric 256 android是通过netd发送netlink请求添加这些路由;也可以手动用 ip route 命令添加: ip route add table local_network dev wlan0 10.0.0.0/16命令功能向指定的路由表 local_network 中添加一条路由规则使所有发往 10.0.0.0/16 网段的数据包都通过 wlan0 接口发送。 路由策略 用ip rule list命令查看,对比打开热点前新增了以下规则: 10500: from all oif wlan0 uidrange 0-0 lookup local_network 14000: from all oif wlan0 lookup local_network 18000: from all iif wlan0 lookup eth0 android是通过netd发送netlink请求添加这些规则;也可以手动用 ip rule 命令添加: ip rule add priority 10500 from all oif wlan0 uidrange 0-0 table local_network ip rule add priority 14000 from all oif wlan0 table local_network ip rule add priority 18000 from all iif wlan0 table eth0第一条命令为从接口wlan0发出且用户ID范围为0的数据包添加优先级10500的规则指定这些数据包使用名为local_network的路由表。 第二条命令同样对wlan0接口的数据包设置规则但未指定UID范围默认所有UID优先级设为14000并使用local_network表。 第三条命令对于通过wlan0接口接收的数据包设置规则优先级18000指向eth0路由表。 iptables(防火墙) 查看日志,看到netd执行了以下iptables命令: iptables -w -D natctrl_FORWARD -i eth0 -o wlan0 -m state –state ESTABLISHED,RELATED -g natctrl_tether_counters iptables -w -D natctrl_FORWARD -i wlan0 -o eth0 -m state –state INVALID -j DROP iptables -w -D natctrl_FORWARD -i wlan0 -o eth0 -g natctrl_tether_counters iptables -w -F natctrl_FORWARD iptables -w -A natctrl_FORWARD -j DROP iptables -w -t nat -F natctrl_nat_POSTROUTING iptables -w -t mangle -D INPUT -i wlan0 -j MARK –set-mark 0x30063 ip6tables -w -t mangle -D INPUT -i wlan0 -j MARK –set-mark 0x30063 iptables -w -t mangle -A INPUT -i wlan0 -j MARK –set-mark 0x30063 ip6tables -w -t mangle -A INPUT -i wlan0 -j MARK –set-mark 0x30063 iptables -w -t nat -A natctrl_nat_POSTROUTING -o eth0 -j MASQUERADE iptables -w -A natctrl_FORWARD -i eth0 -o wlan0 -m state –state ESTABLISHED,RELATED -g natctrl_tether_counters iptables -w -A natctrl_FORWARD -i wlan0 -o eth0 -m state –state INVALID -j DROP iptables -w -A natctrl_FORWARD -i wlan0 -o eth0 -g natctrl_tether_counters iptables -w -D natctrl_FORWARD -j DROP iptables -w -A natctrl_FORWARD -j DROP这些iptables命令,主要用于配置和管理网络流量实现共享上网、提高网络安全等目的:

  1. 删除和刷新规则: 删除nat表natctrl_FORWARD链中特定的规则 iptables -w -D natctrl_FORWARD -i eth0 -o wlan0 -m state –state ESTABLISHED,RELATED -g natctrl_tether_counters 删除允许从eth0到wlan0接口、状态为ESTABLISHED或RELATED的连接计数规则。 iptables -w -D natctrl_FORWARD -i wlan0 -o eth0 -m state –state INVALID -j DROP 删除丢弃从wlan0到eth0接口、状态为INVALID的连接规则。 iptables -w -D natctrl_FORWARD -i wlan0 -o eth0 -g natctrl_tether_counters 删除从wlan0到eth0接口的连接计数规则。 清空nat表natctrl_FORWARD链中的所有规则 iptables -w -F natctrl_FORWARD 删除nat表natctrl_FORWARD链中的DROP动作规则 iptables -w -D natctrl_FORWARD -j DROP2. 配置数据包过滤: 在nat表natctrl_FORWARD链中添加DROP动作规则 iptables -w -A natctrl_FORWARD -j DROP 在nat表natctrl_FORWARD链中添加允许从eth0到wlan0接口、状态为ESTABLISHED或RELATED的连接计数规则 iptables -w -A natctrl_FORWARD -i eth0 -o wlan0 -m state –state ESTABLISHED,RELATED -g natctrl_tether_counters 在nat表natctrl_FORWARD链中添加丢弃从wlan0到eth0接口、状态为INVALID的连接规则 iptables -w -A natctrl_FORWARD -i wlan0 -o eth0 -m state –state INVALID -j DROP 在nat表natctrl_FORWARD链中添加从wlan0到eth0接口的连接计数规则 iptables -w -A natctrl_FORWARD -i wlan0 -o eth0 -g natctrl_tether_counters3. 配置NAT规则: 清空nat表natctrl_nat_POSTROUTING链中的所有规则 iptables -w -t nat -F natctrl_nat_POSTROUTING 在nat表natctrl_nat_POSTROUTING链中添加MASQUERADE规则将从eth0接口发出的所有数据包进行源地址伪装 iptables -w -t nat -A natctrl_nat_POSTROUTING -o eth0 -j MASQUERADE4. 配置数据包标记: 删除mangle表INPUT链中对从wlan0接口流入的数据包进行标记的规则 iptables -w -t mangle -D INPUT -i wlan0 -j MARK –set-mark 0x30063 ip6tables -w -t mangle -D INPUT -i wlan0 -j MARK –set-mark 0x30063 在mangle表INPUT链中添加对从wlan0接口流入的数据包进行标记的规则 iptables -w -t mangle -A INPUT -i wlan0 -j MARK –set-mark 0x30063 ip6tables -w -t mangle -A INPUT -i wlan0 -j MARK –set-mark 0x30063用hostapd命令手动开启WLAN热点 1.加载驱动 手上的设备wifi驱动不是编译为模块,而是buildin方式, 所以不用insmod, 用以下命令打开驱动:

    echo 1 /sys/class/rkwifi/driver2.配置wlan0 IP地址

    ifconfig wlan0 192.168.43.1 netmask 255.255.0.03.运行hostapd

    /system/bin/hostapd -e /data/misc/wifi/entropy.bin /data/misc/wifi/hostapd.conf/data/misc/wifi/hostapd.conf文件内容:

    interfacewlan0 drivernl80211 ctrl_interface/data/misc/wifi/hostapd ssidMyAP channel6 ieee80211n1 hw_modeg ignore_broadcast_ssid0 wowlan_triggersany4.配置IP路由

    ip route add table local_network dev wlan0 192.168.43.0/245.使能ip forward

    echo 1/proc/sys/net/ipv4/ip_forward6.配置iptables

    iptables -w -D natctrl_FORWARD -i eth0 -o wlan0 -m state –state ESTABLISHED,RELATED -g natctrl_tether_counters iptables -w -D natctrl_FORWARD -i wlan0 -o eth0 -m state –state INVALID -j DROP iptables -w -D natctrl_FORWARD -i wlan0 -o eth0 -g natctrl_tether_counters iptables -w -F natctrl_FORWARD iptables -w -A natctrl_FORWARD -j DROP iptables -w -t nat -F natctrl_nat_POSTROUTING iptables -w -t mangle -D INPUT -i wlan0 -j MARK –set-mark 0x30063 ip6tables -w -t mangle -D INPUT -i wlan0 -j MARK –set-mark 0x30063 iptables -w -t mangle -A INPUT -i wlan0 -j MARK –set-mark 0x30063 ip6tables -w -t mangle -A INPUT -i wlan0 -j MARK –set-mark 0x30063 iptables -w -t nat -A natctrl_nat_POSTROUTING -o eth0 -j MASQUERADE iptables -w -A natctrl_FORWARD -i eth0 -o wlan0 -m state –state ESTABLISHED,RELATED -g natctrl_tether_counters iptables -w -A natctrl_FORWARD -i wlan0 -o eth0 -m state –state INVALID -j DROP iptables -w -A natctrl_FORWARD -i wlan0 -o eth0 -g natctrl_tether_counters iptables -w -D natctrl_FORWARD -j DROP iptables -w -A natctrl_FORWARD -j DROP