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

响应式网站好么百度站长工具如何使用

响应式网站好么,百度站长工具如何使用,家装建材网购平台推荐,做网站的流程是什么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.运行hostapd
      • 4.配置IP路由
      • 5.使能ip forward
      • 6.配置iptables

分析Android开启WLAN热点的路由策略和防火墙

在Android系统中,开启便携式WLAN热点(也称为Wi-Fi热点)涉及多个组件和层之间的交互。

便携式WLAN热点开启流程

  1. 应用层请求

    • 用户通过系统设置或其他应用请求开启Wi-Fi热点。
    • 应用通过WifiManagersetWifiApEnabled()方法发送请求。
  2. Framework层处理

    • WifiManager接收请求后,调用WifiServiceImplsetWifiApEnabled()方法。
    • WifiServiceImpl进一步将请求传递给WifiController
    • WifiController通过WifiStateMachine(状态机)来处理热点开启的逻辑。
    • WifiStateMachine决定需要进行的操作,包括配置热点参数(SSID、密码等)并调用NetworkManagementService来执行具体的网络操作。
  3. 与Native层的交互

    • NetworkManagementService通过NativeDaemonConnector与本地守护进程netd进行通信。
    • NativeDaemonConnector通过UNIX socket(例如/dev/socket/netd)向netd发送命令和数据。
    • netd接收命令后,解析并执行相应的操作。
  4. 配置文件生成

    • netd将接收到的热点配置(SSID、密码、加密方式等)写入到/data/misc/wifi/hostapd.conf文件中。
    • 这个配置文件是hostapd服务启动时用于配置Wi-Fi热点的关键文件。
  5. 启动hostapd服务

    • netd通过执行/system/bin/hostapd命令来启动hostapd守护进程。
    • hostapd是一个开源的、用户空间的IEEE 802.11接入点(AP)和认证服务器。
    • hostapd读取/data/misc/wifi/hostapd.conf配置文件,并根据其中的配置来启动和管理Wi-Fi热点。
  6. 状态更新和反馈

    • 一旦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 DROP

2. 配置数据包过滤:

在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_counters

3. 配置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 MASQUERADE

4. 配置数据包标记:

删除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/driver

2.配置wlan0 IP地址

# ifconfig wlan0 192.168.43.1 netmask 255.255.0.0

3.运行hostapd

# /system/bin/hostapd -e /data/misc/wifi/entropy.bin /data/misc/wifi/hostapd.conf

/data/misc/wifi/hostapd.conf文件内容:

interface=wlan0
driver=nl80211
ctrl_interface=/data/misc/wifi/hostapd
ssid=MyAP
channel=6
ieee80211n=1
hw_mode=g
ignore_broadcast_ssid=0
wowlan_triggers=any

4.配置IP路由

# ip route add table local_network dev wlan0 192.168.43.0/24

5.使能ip forward

# echo "1">/proc/sys/net/ipv4/ip_forward

6.配置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
http://www.hkea.cn/news/640462/

相关文章:

  • php网站架设教程英雄联盟韩国
  • 做毕设好的网站百度客服电话24小时
  • 上海手机网站建设电话咨询seo综合查询系统
  • wordpress 4.6 中文版沈阳seo
  • 文件管理软件天津搜索引擎优化
  • 九亭网站建设全国疫情高峰时间表最新
  • 青岛网站建设公司武汉seo收费
  • mvc网站建设的实验报告怎么做优化
  • 有官网建手机网站千锋教育培训多少钱费用
  • b2c交易模式的网站有哪些百度营销客户端
  • flash 学习网站重庆网站seo多少钱
  • 年终总结ppt模板免费下载网站小红书seo排名规则
  • 自己架设网站口碑营销的产品有哪些
  • 湖北省网站备案最快几天天津百度推广排名优化
  • app在线开发制作平台seo网络优化前景怎么样
  • 商务网站的基本情况网站建设工作总结
  • 山西建设厅网站网络销售怎么聊客户
  • 软装素材网站有哪些seo网络排名优化哪家好
  • 邯郸市做网站建设网络口碑营销案例分析
  • 罗湖网站建设联系电话西安核心关键词排名
  • 如何编写网站电脑清理软件十大排名
  • 怎么给企业制作网站seo关键词排名优化哪好
  • 高仿服装网站建设西安百度关键词推广
  • 网站单页面怎么做的百度seo站长工具
  • 网站建设谢辞企业营销型网站有哪些
  • 免费网站制作申请行业关键词一览表
  • 网站建设费关键词排名提高方法
  • 搭建淘宝客网站源码最近发生的新闻事件
  • 网站模版网网站关键词排名优化价格
  • 做网站去哪里全国免费发布广告信息平台