Linux 中 WIFI 和热点的使用
之前一直在 ubuntu 的图形界面中使用,突然需要在 ARM 板上打开热点,一时给弄蒙了,在此记录一下
一、网卡命令
显示所有网络信息
sudo ip link show
关闭或打开网络
sudo ip link set wlan0 down
sudo ip link set wlan0 up
激活或启动网络
sudo ifconfig wlan0 up
设置 ip 地址
sudo ifconfig wlan0 192.168.1.102
查看是否支持 ap 模式
sudo iw dev wlan0 info
二、WIFI 连接工具
在 linux 中管理 WIFI 的工具有很多,比如 wpa_supplicant、iw、netctl、connmanctl等
connmanctl 工具
# 进入管理工具
sudo connmanctl
# 是能wifi
connmanctl enable wifi
# 开启代理
agent on
# 扫描 wifi
scan wifi
# 列出扫描的wifi列表,包括已连接的
services
# 连接wifi
connect <UUID>
# 断开wifi
disconnect <UUID>
# 检查当前连接的网络信息
info <UUID>
# 删除连接记录
remove <UUID>
# 退出
exit
三、热点使用
打开热点主要使用的工具是 hostapd
编写热线
/etc/hostapd/hostapd.conf配置文件,文件名可以任意interface=wlan0 # 你的无线接口名
driver=nl80211 # 无线驱动类型
ssid=MyHotspot # 热点名称
hw_mode=g # 工作模式,g为802.11g,n为802.11n
channel=6 # 无线频道
macaddr_acl=0 # 不限制MAC地址
auth_algs=1 # 认证算法
ignore_broadcast_ssid=0
wpa=2 # WPA2安全
wpa_passphrase=MyPassPhrase # 密码
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
注意: 通畅情况下这么配置没问题,需要注意的是不热模块之间可能有细微的区别,主要查看对应的手册
启动热点
sudo hostapd -B /etc/hostapd/hostapd.conf
注意:此时启动的热点可以扫描到,但是无法连接,因为热点还无法为设备自动分配ip
四、动态 ip 分配
目前常用的工具有 dnsmasq 和 udhcp,可以更具自己的需要进行选择,需要注意的是这两个工具都分为服务端和客户端,想要为热点分配 动态 ip 时,工具都要作为服务端才行
udhcp 使用
安装 udhcp
安装的过程这里就不介绍了,可以参考这位大佬的博客:https://www.cnblogs.com/schips/p/12132115.html在 /etc/udhcpd.conf 中配置服务端信息,文件不存在创建即可
# The start and end of the IP lease block
start 192.168.1.20 #default: 192.168.0.20 客户端分配的地址范围
end 192.168.1.25 #default: 192.168.0.254
# The interface that udhcpd will use
interface wlan0 #default: eth 0 #目标板子上的无线网卡wlan0
#Examles
opt dns 222.201.130.30 222.201.130.33 #dns服务器
option subnet 255.255.255.0
opt router 192.168.1.10 #wlan的 ip地址,做为网关地址
option dns 192.168.1.10 # appened to above DNS servers for a total of 3
option domain local
option lease 864000 # 10 days of seconds
启动服务
sudo udhcpd
主要:这个和热点的启动无先后顺序,但是需要启动动态 ip 分配热点才能连接,但是会发现此时的热点还不能上网,需要进行 ip 转发才行
五、IP 转发
配置 ip 转发
# 检查是否启用了IP转发
sudo sysctl net.ipv4.ip_forward # 临时启动转发
sudo sysctl -w net.ipv4.ip_forward=1 # 永久启动转发,文件不存在时创建即可
sudo vi /etc/sysctl.conf
# 在文件中添加
net.ipv4.ip_forward=1
# 立即生效
sudo sysctl -p /etc/sysctl.conf
# 检查是否应用
cat /proc/sys/net/ipv4/ip_forward
设置 NAT 规则
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
参考链接
arm linux 移植 udhcp 与 使用:https://www.cnblogs.com/schips/p/12132115.html
Linux 中 WIFI 和热点的使用的更多相关文章
- 如何在Kali Linux中搭建钓鱼热点
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 实验环境 操作系统:Kali 1.0 (VM) FackAP: easy-creds 硬件:NETGEAR wg ...
- kali下搭建WiFi钓鱼热点
在linux下建立无线热点并不像在windows下开启网络共享或者使用无线网卡驱动设置AP模式即可. linux下的无线共享要用到两个软件:hostapd(创建无线热点).dnsmasq(dns服务和 ...
- [知识整理]Linux系统WIFI知识的一些整理
前段时间接触了wifi,主要是在linux系统下做预研.开发.本文根据个人收集资料及研究经验做了一些基本入门级别的引子,旨在对wifi有一个很基础的入门的认知,比如知道wifi模块硬件接口有哪些,了解 ...
- <实训|第十三天>linux中ACL权限控制以及磁盘配额,附编译属于自己的linux内核
[root@localhost~]#序言 首先讲讲昨天关于缩容失败,开不机的解决方法:ACL权限也算是一个很重要的知识点,不难,但是很实用:磁盘配额一般不需要自己弄,但是要懂得原理.剩下的就是编译属于 ...
- 【移动开发】Android中WIFI开发总结(二)
搞了好几天终于有点眉目了,这里接着总结一下Android中WiFi的使用,在前面(http://smallwoniu.blog.51cto.com/3911954/1334951)我们已经简单了解了W ...
- [Intel Edison开发板] 06、Edison开发在linux中烧写、配置、搭建开发环境
1.前言 linux上烧写.配置.搭建Edison环境,千万不要用默认的setup tool for ubuntu!!! (即使,你用的就是ubuntu) 因为,其默认的工具会从一个坏链接下载配置文件 ...
- kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 【转】
转自:http://blog.chinaunix.net/uid-26349264-id-4455634.html 目录 kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 ...
- [转载]Linux中的网络接口及LO回环接口
转自:https://blog.csdn.net/weixin_39863747/article/details/80564358 Linux中的网络接口及LO回环接口 2018年06月04日 10: ...
- Linux中的lo回环接口详细介绍
1.linux的网络接口之扫盲 (1)网络接口的命名 这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的.例如: eth0: ethernet的简写,一般用于以太网接口. wifi0: ...
- linux没有wifi
linux的wifi出现问题的介绍 几次重装linux系统,经常出现没有wifi的状况 错误详情 之前安装过CentOS,Kylin,OpenSU,等等经常出现没有wifi的状况,虽说猜测是遇到驱动问 ...
随机推荐
- Java学习之数据类型转换
package com.zhang.LectCode; public class 各种数据间的相互转换 { public static void main(String[] args) { //将St ...
- 促双碳|AIRIOT智慧能源管理解决方案
随着"双碳"政策和落地的推进,各行业企业围绕实现碳达峰和碳中和为目标,逐步开展智能化能源管理工作,通过能源数据统计.分析.核算.监测.能耗设备管理.碳资产管理等多种手段,对能源 ...
- .NET 中 Channel 类简单使用
Channel 是干什么的 The System.Threading.Channels namespace provides a set of synchronization data structu ...
- LLM实战:当网页爬虫集成gpt3.5
1. 背景 最近本qiang~关注了一个开源项目Scrapegraph-ai,是关于网页爬虫结合LLM的项目,所以想一探究竟,毕竟当下及未来,LLM终将替代以往的方方面面. 这篇文章主要介绍下该项目, ...
- 一款开源的.NET程序集反编译、编辑和调试神器
前言 说到.NET相关的反编译工具大家脑海里第一个想到的工具是什么?ILSpy.dnSpy.还是dotPeek?咱们今天的主要内容是讲讲dnSpyEx(dnSpyEx是dnSpy项目的非官方Fork维 ...
- 009. gitlab备份和恢复
gitlab备份 #1. 创建添加配置文件 vim /etc/gitlab/gitlab.rb 文件尾添加: gitlab_reils['backup_path'] = '/data/backup/g ...
- 机器学习策略篇:详解超过人的表现(Surpassing human- level performance)
超过人的表现 讨论过机器学习进展,会在接近或者超越人类水平的时候变得越来越慢.举例谈谈为什么会这样. 假设有一个问题,一组人类专家充分讨论辩论之后,达到0.5%的错误率,单个人类专家错误率是1%,然后 ...
- exception EXC_RESOURCE - WAKEUPS 分析(二)
一.问题: 直播助手在使用ReplayKit2 Extension的过程中,ReplayKit2的Upload进程工作在后台模式,苹果对处于后台的进程进行了内存和CPU资源的限制. 对于内存: 每种E ...
- INFINI Labs 产品更新 | 统一版本号 1.22.0
INFINI Labs 产品又更新啦~,包括 Console,Gateway,Loadgen,Agent 1.22.0.为了避免版本不同带来的困扰,以后发布均统一版本号,此次版本重点修复历史遗留 Bu ...
- java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder 解决方 ...