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

用手机做兼职的网站seo流量是什么意思

用手机做兼职的网站,seo流量是什么意思,搭建网站需要什么软件,北京小程序制作首选华网天下物联网开发系列:物联网开发之旅① WiFi to Ethernet: 树莓派共享无线连接至有线网口,自动通过Captive Poartal验证物联网开发番外篇之 Captive Portal验证原理 文章目录 背景实现工具实现细节一、将无线连接共享到以太网1. 配置静态IP地址2. 启用IP转发3…

  • 物联网开发系列:
  • 物联网开发之旅① WiFi to Ethernet: 树莓派共享无线连接至有线网口,自动通过Captive Poartal验证
  • 物联网开发番外篇之 Captive Portal验证原理

文章目录

  • 背景
  • 实现工具
  • 实现细节
    • 一、将无线连接共享到以太网
      • 1. 配置静态IP地址
      • 2. 启用IP转发
      • 3. 配置NAT(网络地址转换)
      • 4. 自动应用iptables规则
    • 二、自动通过WiFi的登录验证
      • 1. 编写登录脚本
      • 2. 编写网络检查脚本
      • 3. 使用`systemd`定时器
  • 总结
  • 参考

背景

在物联网开发中,大多数设备都是通过无线局域网进行通信的,在局域网下非常容易实现,但是有些时候我们需要在远程对物联网设备进行管理,例如在公司关掉在家忘了关掉的空调,或者在家查看公司物联网设备的工作状态,这时候就需要将局域网的设备暴露到互联网上。

最简单的方式当然是通过一根网线将局域网路由器连接到有互联网的路由器,但是有些情况下这种方法并不可行,否则就不会有本文了。

不便之处在于公司只能够提供一个WiFi连接,这就需要将无线连接获取到的互联网连接共享到局域网设备中。

另外,公司提供的无线连接通常具有captive portal功能,WiFi本身是不加密的,但是连接上之后需要通过一个账号密码进行验证才能上网。

因此要解决这个问题就要完成两个主要任务:

  1. 将无线连接共享到以太网
  2. 自动通过公司的Captive Portal认证

再次注意本文的需求,是将无线连接共享到有线网口,目前大多数网上的方案都是将以太网共享到WiFi,这没什么难度,开个热点就好了。

具体网络拓扑可以参考以下图片

在这里插入图片描述

实现工具

要将无线连接共享到以太网并自动通过WiFi的登录验证,我们需要选择适当的工具和方法。以下是选择这些工具的原因:

  1. 使用nmcli工具nmcli是NetworkManager的命令行接口,可以方便地管理网络连接。
  2. 使用iptables进行NATiptables是Linux内核的包过滤系统,可以配置NAT(网络地址转换)来共享网络连接。
  3. 编写Shell脚本:通过编写Shell脚本,可以自动化WiFi连接和登录验证。
  4. 使用systemd定时器systemd是现代Linux系统的初始化系统和服务管理器,可以用来定时运行任务。

实现细节

一、将无线连接共享到以太网

1. 配置静态IP地址

首先,需要为以太网接口(eth0)配置一个静态IP地址,以便作为网络共享的网关。

编辑/etc/dhcpcd.conf文件:

sudo nano /etc/dhcpcd.conf

添加以下内容,为eth0配置静态IP地址:

interface eth0
static ip_address=192.168.0.1/24
static routers=
static domain_name_servers=

保存并退出编辑器,然后重启网络服务:

sudo systemctl restart dhcpcd

2. 启用IP转发

编辑/etc/sysctl.conf文件,启用IP转发:

sudo nano /etc/sysctl.conf

取消以下行的注释:

net.ipv4.ip_forward=1

使更改立即生效:

sudo sysctl -p

3. 配置NAT(网络地址转换)

配置iptables以共享无线连接到以太网:

sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables规则保存到文件中:

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

4. 自动应用iptables规则

编辑/etc/rc.local文件,在exit 0之前添加以下内容,以便在启动时自动应用iptables规则:

sudo nano /etc/rc.local

添加以下内容:

iptables-restore < /etc/iptables.ipv4.nat

保存并退出编辑器。

小插曲:当我设置好转发之后,发现网络十分不稳定,研究之后发现是树莓派的射频功率不够,导致无线连接不稳定。改进方法有两个,一是给树莓派连接外置天线,可以参考这个视频(有点硬核)。我图省事就选了另一种方法,买个USB无线网卡(建议买免驱动的,省事)。

二、自动通过WiFi的登录验证

关于WiFi的Captive Portal认证功能,可以点击这里了解更多。

要让树莓派自动通过Captive Portal的登录认证,主要思想是抓取一个登录界面的数据包进行分析,将点击登陆时提交的账号密码的过程替换成脚本自动提交。

编写一个自动登录脚本,包含自动连接WiFi,自动提交登录账号密码,检查登录结果。

在系统上电初始化完成后运行登录脚本完成登录,同时运行一个30s的定时任务检查互联网连接是否正常,如不正常则运行一次登录脚本。

1. 编写登录脚本

创建一个名为login.sh的脚本,用于连接到WiFi并通过登录验证:

nano /home/pi/auto_login/login.sh

添加以下内容:

#!/bin/bash# 连接到WiFi网络
sudo nmcli device wifi connect 'Your SSID'# 等待连接建立
sleep 5# 检查WiFi连接状态
nmcli device status# 检查IP地址
ip addr show wlan0# 提交登录表单并输出详细信息
curl -X POST https://[your login domain] \-d "username=[your account]" \-d "password=[your password]" \-d "buttonClicked=4" \-d "redirect_url=" \-d "err_flag=0" \-d "info_flag=0" \-d "info_msg=0" \-v# 检查登录结果
curl -I http://github.com

保存并退出编辑器,然后使脚本可执行:

chmod +x /home/pi/auto_login/login.sh

2. 编写网络检查脚本

创建一个名为network_check.sh的脚本,用于定期检查网络连接状态:

nano /home/pi/auto_login/network_check.sh

添加以下内容:

#!/bin/bashLOGFILE="/var/log/network-reconnect.log"
TARGET="http://github.com" # 注意选择合适的网站,我选择http://www.baidu.com的时候就会获取到不能用的IP导致系统误以为网络没连接上while true; doecho "$(date): Checking network connectivity..." >> $LOGFILE# 检查网络连接状态if ! ping -c 1 -W 1 github.com > /dev/null; thenecho "$(date): Network is down or unable to access internet, running login script..." >> $LOGFILE/home/pi/auto_login/login.sh >> $LOGFILE 2>&1elseecho "$(date): Network is up and internet is accessible." >> $LOGFILEfi# 等待 30 秒sleep 30
done

保存并退出编辑器,然后使脚本可执行:

chmod +x /home/pi/auto_login/network_check.sh

3. 使用systemd定时器

创建一个systemd服务文件:

sudo nano /etc/systemd/system/network_check.service

添加以下内容:

[Unit]
Description=Network Check Script[Service]
Type=simple
ExecStart=/home/pi/auto_login/network_check.sh

保存并退出编辑器。

创建一个systemd定时器文件:

sudo nano /etc/systemd/system/network_check.timer

添加以下内容:

[Unit]
Description=Run Network Check Script every 30 seconds[Timer]
OnBootSec=30s
OnUnitActiveSec=30s
Unit=network_check.service[Install]
WantedBy=timers.target

保存并退出编辑器。

重新加载systemd配置,并启用和启动定时器:

sudo systemctl daemon-reload
sudo systemctl enable network_check.timer
sudo systemctl start network_check.timer

总结

本文分享了使用树莓派将WiFi连接的互联网共享至以太网,并且通过脚本实现登录界面的自动认证。

希望这篇博客能帮助到你。如果你有任何问题或需要进一步帮助,请在评论区留言。

参考

https://blog.csdn.net/weixin_45501411/article/details/103772070

http://www.khdw.cn/news/69507.html

相关文章:

  • 网站后台登陆网址是多少网络项目怎么推广
  • 做模版的网站sem竞价代运营公司
  • 做代购有哪些网站近三年成功的营销案例
  • 表白网页制作网站搜索引擎优化的技巧
  • 郑州做网站哪家好熊掌号seo怎么做教程
  • 网站后台用什么开发短链接在线生成官网
  • 源码做微信电影网站网络广告名词解释
  • 足球比赛直播2021欧冠决赛整站优化价格
  • 做网站备案成功后怎么办企业培训系统
  • 网站建设的作用和用途百度手机端排名如何优化
  • php网站怎么做seo百度游戏排行榜
  • 百度 wordpress插件铁岭网站seo
  • 医院网站可信认证必须做吗谷歌seo工具
  • 网站界面设计如何实现功能美与形式美的统一?深圳百度
  • 做网站多久能排靠前张北网站seo
  • wordpress免费英文主题下载广州seo工资
  • 网站开发软件排行榜小说风云榜
  • 惠州网站制作公司网站开发公司排行榜
  • 天津二十四格制作公司高端网站优化公司
  • 浙江省火电建设公司网站沈阳关键词优化费用
  • 番禺网站开发平台自媒体视频发布平台
  • 单纯做seo能否提升网站流量十大搜索引擎
  • 网站建设如何来选择空间提高工作效率的句子
  • 网站制作论文 优帮云营销软文模板
  • 真么做网站网站推广的方式有
  • 猎头公司面试一般会问什么问题济南网络seo公司
  • 做电子商务网站 除了域名 网页设计 还有服务器 和网站空间百度无广告搜索引擎
  • 笑话类网站用什么做永久不收费免费的软件
  • 小程序和公众号有什么区别手机关键词seo排名优化
  • 民宿预订网站制作关键词推广优化排名如何