操作环境: ArchLinux Linux myhost 2.6.36-ARCH
硬件: USB 无线网卡 TL-WN821N

无线网卡工作工作模式
无线网卡一共有4种工作模式。
被管理模式(Managed mode):你作为无线客户端直接与无线接入点(Wireless Access Point,WAP)连接时,就使用这个模式。在这个模式中,无线网卡的驱动程序依赖WAP管理整个通信过程。
Ad hoc模式:当你的网络由互相直连的设备组成时,就使用这个模式。在这个模式中,无线通信双方共同承担WAP的职责。
主模式(Master mode):一些高端无线网卡还支持主模式。这个模式允许无线网卡使用特制的驱动程序和软件工作,作为其他设备的WAP。
监听模式(Monitor mode):就我们的用途而言,这是最重要的模式。当你希望无线客户端停止收发数据,专心监听空气中的数据包时,就使用监听模式。要使Wireshark捕获无线数据包,你的无线网卡和配套驱动程序必须支持监听模式(也叫RFMON模式)。
大部分用户只使用无线网卡的被管理模式或ad hoc模式。

如何判断无线网卡是否识别
根据设备是 PCI 还是 USB 连接,执行 lspci -k 或 lsusb -v 检查设备驱动是否已经加载
$ lspci -k
06:00.0 Network controller: Intel Corporation
WiFi Link 5100
Subsystem: Intel Corporation WiFi Link
5100 AGN
Kernel driver in use: iwlwifi
Kernel
modules: iwlwifi
如果是 USB 设备,执行 dmesg | grep usbcore 可以看到类似下面的输出 usbcore: registered new interface driver rtl8187。
如果无线usb网卡后插入的话, 也会打印上述信息.
通过 ip link 查看无线 (设备名,通常是类似 wlp2s1) 的设备。启用设备:
ip link set <设备名>up
如果设备加载,接口正常启用,说明不需要安装额外的驱动和固件。
错误信息SIOCSIFFLAGS: No such file or directory 说明需要固件才能工作,
根据获得的信息,在下面网址查找硬件支持:
Ubuntu Wiki 维护了一个设备被内核和用户空间驱动支持状况的列表。
Linux 无线支持页面 和硬件兼容性列表(HCL)也维护了一个内核友好的设备列表。
内核页面 也有一个支持的硬件矩阵。
如果列表中没有,可能你的设备只提供了 Windows 驱动(比如 Broadcom, 3com 等)。这时需要用 ndiswrapper.
Ndiswrapper 可以在 Linux 中使用 Windows 驱动。兼容性列表在 这里. 需要 Windows 中安装的 .inf 和 .sys 文件。如果有更新的网卡,请通过互联网搜索型号名称 + ‘linux’ 以获取更多信息。
如何静态配置无线网卡
Unix一切皆文件,其它网络配置工具都是直接或者间接地修改这些虚拟文件来达到设置目的的。
pi@raspberrypi ~ $ ls -l /sys/class/net
total 0
lrwxrwxrwx 1 root root 0 May 8 08:12 eth0 -> …/…/devices/platform/bcm2708_usb/usb1/1-1/1-1.1/1-1.1:1.0/net/eth0
lrwxrwxrwx 1 root root 0 May 8 08:12 lo -> …/…/devices/virtual/net/lo
lrwxrwxrwx 1 root root 0 May 8 08:13 wlan0 -> …/…/devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/net/wlan0
可以看到,系统当前存在三个网络设备:lo为回环设备;eth0为有线网卡;wlan0为无线网卡。
/etc/network/interfaces文件记录了所有的静态配置信息。内核在引导的时候,会自动启动标志为“auto”的设备,例如:
auto lo
auto eth0
auto wlan0
而如果设备标志为“allow-hotplug”,那么内核在检测到热插拔事件的时候,也会自动启动。例如:
allow-hotplug lo
allow-hotplug eth0
allow-hotplug wlan0
因为回环设备始终应该是存在的,所以/etc/network/interfaces文件的内容至少是:
auto lo
iface lo inet loopback
内核启动网络设备调用的是ifupdown工具,而ifupdown工具也是依赖于/etc/network/interfaces配置文件的。
对于有线(Wired)设备,物理层和数据链路层无须操作系统干预,网卡根据CSMA/CD协议就能够自行设置,所以/etc/network/interfaces文件只需包含网络层以上的配置信息,例如IP地址、子网掩码、默认网关等。例如:
iface eth0 inet static
address 192.168.11.100
netmask 255.255.255.0
gateway 192.168.11.1
“默认网关”其实是路由的概念,在这里作为设备的一个属性,和IP地址子网掩码放在一起我觉得很不妥,很容易误导初学者,尤其是存在多网卡多IP地址的情况。默认网关的生成与这条配置有关, 如果去除这条, 网络连接将变慢.

对于DNS,首先需要注意的是它属于应用层协议,和网络设备以及网络层并无直接联系。传统上Linux的DNS配置文件为/etc/resolv.conf,一行一个服务器IP地址。例如:
nameserver 218.2.135.1
nameserver 61.147.37.1
如果安装了resolvconf工具,那么DNS的配置会被接管,此时/etc/resolv.conf就变成了一个符号链接,链接到了resolvconf运行时候动态维护的一个文件。在这种情况下,DNS的配置也可以写到/etc/network/interfaces文件中了,例如:
iface eth0 inet static
address 192.168.11.100
netmask 255.255.255.0
gateway 192.168.11.1
dns-nameservers 218.2.135.1 61.147.37.1
ifupdown工具会自动调用resolvconf完成DNS设置。

此处我也甚觉不妥,因为上面讲过,DNS是应用层的概念,这样写的话让初学者觉得好像DNS是网络设备的属性一样(传统Linux还真是有很多不足之处)。
如果安装了isc-dhcp-client工具,那么/etc/network/interfaces文件中就可以直接配置DHCP,例如:
iface eth0 inet dhcp
isc-dhcp-client有自己的配置文件,可以控制从DHCP服务器上获取哪些信息(例如DNS服务器地址)。
ifupdown工具会自动调用isc-dhcp-client完成DHCP设置。
此处需要注意的是:不论resolvconf是否存在,dhclient均会直接修改/etc/resolv.conf文件(不管它是不是一个链接),不过一般情况下也没有什么问题。

对于无线(Wireless)设备,工作方式和有线设备有很大的不同(不是插上网线就能直接用的)。数据链路层的连接必须由操作系统协同完成,例如连接哪个SSID、使用哪条信道、采用什么认证方式(WEP、WPA…)。这些链路层配置信息也可以写到/etc/network/interfaces文件中以供ifupdown工具使用。
iface wlan0 inet dhcp
wpa-ssid homezone
wpa-psk 密码
ifupdown工具会自动调用wpasupplicant完成WPA设置。

例如WEP的配置:
iface wlan0 inet dhcp
wireless-essid Home
wireless-key1 0123-4567-89ab-cdef
wireless-key2 12345678
wireless-key3 s:password
wireless-defaultkey 2
wireless-keymode open
ifupdown工具会自动调用wireless-tools完成WEP设置。
wpa_supplicant 配置文件, 配置方法:
更详细的配置可参考手册man wpa_supplicant.conf
如何动态配置无线网卡
为了管理已经安装好的无线驱动,并且使无线能正常工作,需要安装一个无线连接管理工具。需要使用的工具,将依赖于下面几个因素:
配置方式,从完全手动执行每一步到软件自动管理、自动启动
是否使用加密及加密类型
是否需要区分网络配置,是否经常切换不同网络(比如手提电脑)。
下表列出可以使用的管理无线网络的方法,按照加密和管理方式分类,给出了需要的工具。虽然还有其他办法,但这些是最常使用的

管理方法 接口激活 无线连接管理(/=alternatives) IP 地址分配(/=alternatives)
手动设置,无加密或 WEP 加密 ip iw / iwconfig ip / dhcpcd / dhclient
手动管理,WPA 或 WPA2 PSK 加密 ip iw / iwconfig + wpa_supplicant ip / dhcpcd / dhclient
自动管理,支持网络配置 netctl, Wicd, NetworkManager, etc. 这些工具会自动安装手动配置需要的工具

软件包 wireless_tools 提供了建立无线连接的基础工具。如果你需要使用 WPA/WPA2 加密,还需要 wpa_supplicant。如下这些用户空间工具可以对无线连接进行完整控制。
iw - 当前的 nl80211 标准,不是所有的芯片都支持。
wireless_tools - 已经过时,但是依然广泛使用。
wpa_supplicant - 提供 WPA/WPA2 加密支持
下面表格给出了 iw 和 wireless_tools 命令的对比

iw 命令 wireless_tools 命令 描述
Iw dev Iwconfig 获取接口名
iw dev wlan0 link iwconfig wlan0 获取连接状态
Iw dev wlan0 station dump 获取统计数据
Ip link set wlan0 up(可能需要) 一些无线网卡在使用 wireless_tools前需要激活内核接口.如果出现错误 RTNETLINK answers: Operation not possible due to RF-kill, 请确保硬件开关已经打开.要验证接口确实打开: # ip link show wlan0 3: wlan0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000 link/ether12:34:56:78:9a:bc brd ff:ff:ff:ff:ff:ff<BROADCAST,MULTICAST,UP,LOWER_UP> 中的UP 显示接口已经打开。Rfkill 介绍http://www.linuxidc.com/Linux/2015-08/121119.htm 激活内核接口
iw dev wlan0 scan /less iwlist wlan0 scan 扫描可用热点
iw dev wlan0 set type ibss有些网卡需要先关闭无线接口(ip link set wlan0 down)才能修改模式 iwconfig wlan0 mode ad-hoc 设置操作模式为 ad-hoc.
iw dev wlan0 connect your_essid iwconfig wlan0 essid your_essid 连接到开放网络
iw dev wlan0 connect your_essid 2432 iwconfig wlan0 essid your_essid freq 2432M 连接到开放网络的一个频道
iw dev wlan0 connect your_essid key 0:your_key iwconfig wlan0 essid your_essid key your_key 用16进制加密密码访问 WEP 加密网络
iw dev wlan0 connect your_essid key 0:your_key /iw wlan0 connect/foo keys 0:abcde d:1:0011223344 iwconfig wlan0 essid your_essid key s:your_key/iwconfig wlan0 key s:abcde/iwconfig wlan0 key ‘[2]0011223344’/iwconfig wlan0 key ‘[2]’/iwconfig wlan0/essid foo 用 ASCII 密码访问 WEP 加密网络.
iw dev wlan0 set power_save on iwconfig wlan0 power on 启用省电模式

根据加密方式不同,需要使用密码将无线设备关联到接入点。
假设要使用的接入点 ESSID 为 MyEssid:

无加密

iw wlan0 connect
MyEssid

WEP

使用十六进制或 ASCII 密码(格式是自动识别出来的,因为 WEP 密码长度是固定的):

iw dev wlan0

connect your_essid key 0:your_key
使用十六进制或 ASCII 密码,第三个是默认 (从0计数,共四个):

iw dev wlan0

connect your_essid key d:2:your_key

WPA/WPA2
如果要连接WPA认证的无线网络,wireless-tools就无可奈何了,必须使用wpasupplicant。
wpasupplicant并不是像wireless-tools一样简单地用命令行配一配就可以了,它必须先启动一个服务进程,然后使用另外一个命令行工具对服务进程进行设置,而且在WIFI连接期间该服务进程必须始终运行着。

wpa_supplicant -i wlan0 -D nl80211,wext -s -B -P /var/run/wpa_supplicant.wlan0.pid -C /var/run/wpa_supplicant

其中:-i指定设备名;-D指定认证协议;-s -B指定在后台运行,并且调试输出到syslog中;-C参数指定“ctrl_interface”的位置,注意,wpa_supplicant是可以有配置文件的,而且配置文件中可以记录WIFI的静态配置,类似于/etc/network/interfaces的功能,但是我们这里用不到,在没有配置文件的情况下,“ctrl_interface”是必不可少的,wpa_cli通过它与之交互。

前台方式:

wpa_supplicant -i wlan0 -D nl80211,wext -dd -P /var/run/wpa_supplicant.wlan0.pid -C /var/run/wpa_supplicant
其中,-dd表示输出更详细的调试信息。

查看后台启动的进程参数:
pi@raspberrypi ~ $ ps ax | grep wpa
1618 ? Ss 0:00 /sbin/wpa_supplicant -s -B -P /var/run/wpa_supplicant.wlan0.pid -i wlan0 -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant.conf
2379 pts/0 S+ 0:00 grep --color=auto wpa
然后使用wpa_cli进行设置。wpa_cli可以工作在交互模式,也可以命令行模式。例如在交互模式下执行如下命令加入并启用网络:
status:列出目前的联网状态。
list:列出所有备选网络。目前正连接到的网络会标[CURRENT],禁用的网络会标[DISABLE]。
add_network:增加一个备选网络,输出新网络的号码(这个号码替代下文的[network_id])。注意新网络此时是禁用状态。
set_network [network_id] ssid “Your SSID”:设置无线网的名称(SSID)
set_network [network_id] key_mgmt WPA-PSK:设置无线网的加密方式为WPA-PSK/WPA2-PSK
set_network [network_id] psk “Your Password”:设置无线网的PSK密码
enable_network [network_id]:启用网络。启用后如果系统搜索到了这个网络,就会尝试连接。
disable_network [network_id]:禁用网络。
save_config:保存配置。

add_network
0 <— 记住这个号码!

set_network 0 ssid “ChinaUnicom-Me”

OK

set_network 0 key_mgmt WPA-PSK

OK

set_network 0 psk “密码”

OK

enable_network 0

OK

save_config <--------别忘了这个,否则重启之后网络配置可能丢失

OK

查看配置文件:
pi@raspberrypi ~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid=“Lair”
psk=“knc4-102”
key_mgmt=WPA-PSK
scan_ssid=1 手动添加这一行, 可以支持链接隐藏的wifi
}

配置静态无线ip:
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
address 192.168.1.105
netmask 255.255.255.0
gateway 192.168.1.1

以上配置有错误.
网络配置修改后, 重启服务
sudo /etc/init.d/networking restart
sudo service networking restart

假设设备使用 wext 驱动。如果无法工作,可能需要调整选项,参见 WPA_Supplicant(https://wiki.archlinux.org/index.php/WPA_supplicant_(简体中文))。
如果连接成功,在新终端中执行后续命令或(或者通过 Ctrl+c 退出并使用 -B 参数在后台再次执行上述命令。WPA_Supplicant 页面包含更多参数和配置文件的信息。
通过下面命令确认是否连接成功:

iw dev wlan0 link

获取 IP 地址
使用 DHCP: # dhcpcd wlan0
或 # dhclient wlan0
如果要设置DHCP,很简单。例如:
dhclient wlan0 -r
(释放IP,
相当于windows下的
ipconfig /release)
dhclient wlan0
(申请IP,
相当于windows下的
ipconfig /renew)

静态 IP:
ip address add 192.168.1.3/24 dev wlan0
ip route add default via 192.168.1.1 dev wlan0
第一行增加IP地址,第二行设置默认路由。
若要删除以 10. 起始的 IP 路由表中的所有路由,请键入:
route delete 10.*
route del default


  1. 安装 wireless_tools 和 madwifi
    pacman -S wireless_tools madwifi
  2. 查看网卡状态
    lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 002 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
    Bus 001 Device 003: ID 0cf3:7015 Atheros Communications, Inc.
    在USB接口001/003上检测到网卡。
    iwconfig
    lo no wireless extensions.
    eth0 no wireless extensions.
    wlan0 IEEE 802.11bgn ESSID:off/any
    Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm
    Retry long limit:7 RTS thr:off Fragment thr:off
    Encryption key:off
    Power Management:off
    无线网卡为 wlan0
  3. 激活网卡
    ifconfig wlan0 up
    因为我的网卡必需要先激活才能扫描,否则下一步scan会出现错误:wlan0 Interface doesn’t support scanning.
  4. 扫描网络
    iwlist wlan0 scan
    wlan0 Scan completed :
    Cell 01 - Address: 54:E6:FC:22:E1:D2
    Channel:1
    Frequency:2.412 GHz (Channel 1)
    Quality=53/70 Signal level=-57 dBm
    Encryption key:on
    ESSID:“TP-LINK_22E1D2”
    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
    9 Mb/s; 12 Mb/s; 18 Mb/s
    Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
    Mode:Master
    Extra:tsf=000000292a41bd80
    Extra: Last beacon: 960ms ago
    IE: Unknown: 000E54502D4C494E4B5F323245314432
    IE: Unknown: 010882848B960C121824
    IE: Unknown: 030101
    IE: IEEE 802.11i/WPA2 Version 1
    Group Cipher : CCMP
    Pairwise Ciphers (1) : CCMP
    Authentication Suites (1) : PSK
    IE: WPA Version 1
    Group Cipher : CCMP
    Pairwise Ciphers (1) : CCMP
    Authentication Suites (1) : PSK
    发现WPA2-PSK/WPA-PSK 加密网络 TP-LINK_22E1D2
    因为加密方式为 WPA-PSK 所以得用 wpa_supplicant 而不能使用 iwconfig wlan0 key xxx 形式,iwconfig key方式适用于WEP。
  5. 配置 wpa_supplicant
    新建文件 /etc/my_wpa_supplicant.conf
    ctrl_interface=/var/run/wpa_supplicant
    network={
    ssid=“TP-LINK_22E1D2”
    psk=“密码”
    }
    因为全部使用默认配置,所以配置文件非常简单。
  6. 连接wlan0到网络,并以daemon方式运行
    wpa_supplicant -B -i wlan0 -c /etc/my_wpa_supplicant.conf
    -B Background 在后台以daemon 运行
    -i interface
    -c 配置文件
  7. 设置IP地址
    ifconfig wlan0 192.168.1.131
    ifconfig 查看状态
    wlan0 Link encap:Ethernet HWaddr 54:E6:FC:03:0D:6B
    inet addr:192.168.1.131 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:95 errors:0 dropped:0 overruns:0 frame:0
    TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:32434 (31.6 Kb) TX bytes:576 (576.0 b)
  8. 加入网关到路由
    我的网关的是192.168.1.1
    添加通过wlan0访问的网关
    route add default gw 192.168.1.1 dev wlan0
    route 查看route状态
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    192.168.1.0 * 255.255.255.0 U 0 0 0 wlan0
    default 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
  9. 设置完毕。
    以后上线只需运行
    wpa_supplicant -B -i wlan0 -c /etc/my_wpa_supplicant.conf
    ifconfig wlan0 192.168.1.131
    route add default gw 192.168.1.1 dev wlan0
    即可
    可以在/etc/rc.d/rc.local加入开机启动
  10. 相关命令
    关闭连接
    wpa_cli terminate
    连接状态
    wpa_cli status

linux设置无线网络相关推荐

  1. kali linux 设置无线网络连接,KaliLinux无线网络设置[bak]

    本文最后更新于2014年7月1日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢! 在使用网络查看命令(ifconfig/iwconfig)可以查看到无线网卡的情况下(表明无线网卡的驱动 ...

  2. linux终端链接网络,Ubuntu通过命令行设置无线网络连接

    博客搬迁到这里 http://blog.fdawei.me,欢迎访问,大家一起学习交流. 由于Ubuntu的Linux内核对于WPA的加密方式支持不是很好,所有使用普通方式的命令行无法连接WPA2类型 ...

  3. 台式计算机无线设置,台式电脑怎么设置无线网络?

    台式电脑应该怎么才能够连接到无线网络?小编今天就来教大家如何在台式电脑上面设置连接无线网络. 方法步骤 1.使用无线网络上网已经不是什么新鲜事,相信很多小伙伴都应该用过,这样我们就能够在一个范围内随意 ...

  4. 台式计算机怎样能搜无线连接,台式电脑怎么设置无线网络!台式电脑也能上wifi...

    原标题:台式电脑怎么设置无线网络!台式电脑也能上wifi 如今,无线wifi已经走进了家家户户,用无线网络,对于我们平时使用笔记本电脑.平板电脑.智能手机来说是一个天大的好消息,但是这里有一种限制就是 ...

  5. 怎样在手机设置无线网络连接服务器,如何用手机设置wifi路由器?

    在本文中,鸿哥主要给大家介绍,安装wifi路由器,并用手机设置wifi路由器上网的方法. 新买的wifi路由器,或者恢复出厂设置后的wifi路由器,要用手机来设置它连接宽带上网,需要按照下面的步骤来操 ...

  6. bat 切换网络适配器_Windows批处理自动切换IP地址设置无线网络和以太网的IP地址...

    经常带着笔记本电脑来回公司与家里上网,会碰到要切换本地IP的情况,由于上班公司工作需要设置固定IP才能上网,而在家都是自动获取IP地址的,下面这个bat批处理文件,可以很方便切换IP地址. @echo ...

  7. 台式计算机如何上网设置,台式电脑怎么设置无线网络,教您台式电脑怎么设置无线网络...

    大家都知道笔记本都有自带无线上网的功能,只要搜索得到无线网络的信号,知道它的密码就可以免费上网了.最近,有使用的用户,他的是台式电脑也想连接无线网络上网,要怎么做到呢?下面,小编给大家介绍台式电脑设置 ...

  8. 台式电脑如何设置此计算机,台式电脑怎么设置无线网络

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 台式电脑设置无线网络的方法如下: 1.先用网线连接台式电脑的物理网卡接口上,网线另一端连接路由器的任意一个LAN口: 2.一般情况 ...

  9. 计算机的网络设置在哪里,笔记本无线设置在哪里_笔记本电脑设置无线网络的步骤-win7之家...

    在使用笔记本电脑时,我们有时候需要对无线网络进行一些设置,但是一些新手用户可能还不知道笔记本无线设置在哪里吧,我们可以打开网络和共享中心,然后找到管理无线网络进行设置,接下来给大家讲述一下笔记本电脑设 ...

最新文章

  1. java动态加载配置文件
  2. R语言dplyr包cumall函数、cumany函数和cummean函数实战
  3. Hololens Spatial Mapping功能实现
  4. android进度条课设报告,Android开发之进度条ProgressBar的示例代码
  5. java文件读写操作大全
  6. Linux卸载MariaDB
  7. 计算机等级考试试题在线测试,计算机等级考试上机练习题.pdf
  8. java多个mapreduce_java – 在hadoop中运行多个MapReduce作业
  9. android开源2016_2016年开源年鉴:现在提供印刷版
  10. 20190820 On Java8 第十章 接口
  11. 销售订单的 状态 变更
  12. 《系统集成项目管理》第一章 信息化知识
  13. Adobe Photoshop 2020 无法创建新建文档的两种解决方法
  14. 深度 linux 打印机,阻挡Deepin成为主力系统的障碍就是对打印机的支持
  15. K-S检验两样本分布是否相同
  16. 郭涛 黄渤 田原09贺岁大片《高兴》DVD修正版
  17. 什么是敏感信息检测,敏感信息检测,安全视图 | 云效
  18. AR技术在智慧交通中的应用
  19. 详解Java 12新特性:switch表达式
  20. 知道创宇入选第九届CNCERT国家级网络安全应急服务支撑单位

热门文章

  1. Mac os 安装Maven
  2. Win11创建pin失败怎么办?
  3. OSChina 周六乱弹 —— 放假前期焦虑症晚期
  4. vue 实现页面跳转
  5. 半导体器件物理【22】PN结 —— 单向导电、影响结电流电压偏离的因素
  6. 机器学习Day4-协同过滤UserCFItemCF-源代码-逻辑-分析
  7. 5G channel HT20/40/80 划分
  8. 字符串编码和字节解码
  9. 百度地图的全景地图实现的过程
  10. 查询借出次数超过2次的所有图书的书号和书名;