当前位置: 首页 > 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.ds6.com.cn/news/21849.html

相关文章:

  • 商业网站需要多少钱企业所得税优惠政策
  • 网站建设维护费一年多少钱找索引擎seo
  • 手机收藏网站代码品牌网络seo方案外包
  • 企业网站样式谷歌浏览器官网手机版
  • 新型网站设计南京seo
  • 网站开发留言板app推广方案
  • 昆明网页制作青岛关键词优化平台
  • 如何上传到网站根目录最新收录查询
  • 导航网站容易做吗全国防疫大数据平台
  • 做网站必须会编程吗常见的营销型网站
  • 网站备案名称中国开头宣传软文怎么写
  • 成都住建局官网咨询电话seo软件哪个好
  • 石家庄网站制作系统郑州抖音seo
  • 温州手机网站建设千万不要学网络营销
  • 网站 复制 收录被逆冬seo课程欺骗了
  • 大连建设厅网站宁波seo优化公司排名
  • 醴陵网站建设长春网站建设制作
  • 服务类网站开发生成关键词的软件
  • 受欢迎的天津网站建设seo技术306
  • 榆林网站建设vs0912seo免费工具
  • 广州网站建设年底促销杭州seo公司
  • 网站建设设计服务公司批量关键词调排名软件
  • 门户网站设计技巧推广员是干什么的
  • 平度网站建设注册网站需要多少钱?
  • 网站版权符号网站关键词排名优化电话
  • 想在拼购网站做产品代理推广月入5万
  • 蓝色机械营销型网站谷歌seo运营
  • 一起做陶瓷官方网站免费引流推广方法
  • 哪家做网站公司好网推什么意思
  • 电影网站建设之苹果cms程序seo标题优化是什么意思