【计算机网络】lab3 802.11 (无线网络帧)
🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光
目录
1. 前言
2. 实验目的
3. 实验步骤
3.1 步骤1:获取跟踪
3.2 分析踪迹
4. 802.11物理层
5. 802.11链路层
6. 802.11管理
7. 总结
1. 前言
本系列重点针对山东大学-软件学院-计算机网络实验的任务。
希望通过实验,一方面加强大家对理论知识的认识,另一方面提升大家的动手能力。
也希望我的博客能够给学弟学妹们的学习提供一些帮助。
2. 实验目的
探究802.11的物理层、链路层和管理功能。它被广泛用于将移动设备无线连接到互联网。
Wireshark:本实验使用Wireshark软件工具来捕获和检查数据包跟踪。数据包跟踪是对网络上某个位置的流量的记录,就好像对通过特定线路的所有位拍了快照一样。数据包跟踪记录每个数据包的时间戳,以及组成数据包的位,从低层报头到高层内容。Wireshark可以在大多数操作系统上运行,包括Windows、Mac和Linux。它提供了一个图形用户界面,显示数据包的顺序以及解释为协议报头和数据的位的含义。它根据包的类型对包进行颜色编码,并有多种方法来过滤和分析包,让您调查网络协议的行为。Wireshark广泛用于排除网络故障。
3. 实验步骤
3.1 步骤1:获取跟踪
我们提供了一个跟踪,您可以通过启动Wireshark并从文件菜单中选择打开来使用它。在Windows/Mac上,您可以找到跟踪文件并直接打开它来启动带有跟踪的Wireshark。您现在可以进行第2步;本节的其余部分是信息性的。与其他实验不同,出于几个原因,可能很难收集到您自己的痕迹。主要问题是Windows缺乏驱动程序支持来收集大多数无线网卡的802.11帧。当我们以前捕获流量时,操作系统使它看起来像是通过有线以太网来的(即使它实际上是通过无线网络来的),并丢弃任何没有更高层数据有效负载(如确认)的802.11帧。在某些系统上,通常是Mac和Linux,可以告诉操作系统直接收集802.11帧,而不进行这种转换。这就是所谓的“监控模式”。如果您的系统支持,无线接口的Wireshark捕获选项将允许您选择监控模式,并将捕获流量的格式设置为“802.11 plus radiotap header”而不是以太网。下面是一个例子。如果无法选择监视器模式,那么您的系统可能无法捕获802.11。
第二个困难是,当接口在监控模式下捕获无线流量时,通常无法正常使用。这意味着您至少需要两台计算机:一台计算机发送测试流量,另一台监视计算机捕捉无线活动的痕迹。
最后,请注意,在监控模式下捕捉踪迹将记录附近的所有无线活动。由于802.11无线设备无处不在,您的跟踪很可能会捕获来自附近其他计算机的不需要的流量。这种行为使得很难干净地观察你自己的流量。
我用的是Window系统,因此不具备收集802.11帧的能力。因此,只能使用官方给的802.11数据包,下载这个数据包进行分析。
数据包下载链接如下: http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip解压缩后
直接双击打开Wireshark_802_11.pcap,如下图:
3.2 分析踪迹
首先,我们来看看802.11帧的格式。有许多不同种类的802.11帧将在跟踪中被捕获;查看帧的格式。如上图,有Beacon、Data、Acknowledgement等类型。选择一个数据包进行分析,这里选择了Beacon帧。
检查帧中记录的协议层是否符合这些协议。看看中间的面板。
- 帧是由Wireshark添加的记录,包含有关帧的时间和长度的信息;它不捕捉“通过空中”发送的比特。
- Radiotap也是Wireshark创建的记录,用于捕获物理层参数,如信号强度和调制。暂时跳过此记录;我们以后会调查的。
-
IEEE 802.11是802.11数据帧的比特。这是我们正在寻找的记录,应该是通过header(物理层信息)解析出来的信息。显示的与信号强度相关的信息。例如信噪比、信道、速率等。
这个实验我们最重要的就是分析802.11帧的数据内容:
展开数据帧的IEEE 802.11记录,检查各个报头字段的详细信息。可以使用“+”扩展器或图标来扩展此块;它在我们的图中被放大显示。Wireshark中的字段包括:
①帧控制字段:编码帧的类型和子类型,例如,数据,以及各种标志。
展开帧控制字段:所有 802.11 帧都以帧控制字段开始,子字段和标志的详细信息决定了消息其余部分的格式。
•Version,当前版本的值为 0。
•类型和子类型指定帧的类型,例如,Data 或 Ack。
•到 DS。如果帧通过 AP 从计算机发送到有线网络,则设置此标志。
•从 DS 发送。如果帧通过 AP 从有线网络发送到计算机,则设置此标志。
•更多的片段。设置此消息中是否有更多帧。
•重试。设置帧是否为重传。
•电源管理。设置发送方是否在传输后进入省电休眠状态。
•更多数据。设置发送方是否有更多帧要发送。
•保护。设置帧是否使用 WEP/WPA2 加密
•秩序。设置接收者是否必须保持帧的顺序
②持续时间:告诉计算机在无线介质上需要多少时间来处理作为交换一部分的附加数据包。
③BSS标识符、源地址和目的地址:其顺序取决于数据帧的具体内容 。这些地址字段标识谁发送了数据包,谁应该接收它。BSS 标识符是无线接入点的地址。
④片段和序列号:如果需要,这些 字段为重新组装和重新传输的帧编号 。序列号 随着每次新的传输而增加。
⑤帧校验序列:出现在最后。
4. 802.11物理层
现在,我们对802.11数据帧有了一些了解,我们将从物理层开始,更深入地了解无线系统的不同部分。在最底层,发送和接收消息都与接收信号的频带、调制和信噪比有关。我们可以使用Radiotap报头中的信息来查看所有这些因素!
问题1: What is the channel frequency? To find the frequency, expand the Radiotap header of any frame and look for the Channel frequency.
![]()
如图所示,信道频率为2437,可以用信道频率区分不同信道,也就是信道复用。
为了观察调制,我们可以观察数据速率值;为了观察SNR,我们可以观察SSI信号值(结合SSI噪声值)。SSI信号值通常被称为RSSI(接收信号强度指示)。这些字段将随着不同的帧而变化。要查看它们,首先我们必须在主显示中添加新的列。通过进入编辑——首选项——外观——列,以添加RSSI和Rate并来观察他们。
然后就可以看到:
我们可以看到各种不同的速率,也就是说,无线速率与有线以太网不同,有线以太网的帧以固定速率发送(经过以太网类型的协商),而无线速率根据计算机的条件和能力而变化。
问题2: What rates are used? Give an ordered list of rates from lowest to highest. Hint: you can click the Rate column to sort by that value.
回答:排序后可清楚看到有0、1、5、6、9、11、12、18、24、36、48、54这些速率被使用。802.11a 标准规定 6、12 与 24 Mbps 是必要的(required)数据率。
![]()
还可以看到各种RSSI值。RSSI值可以用来表示接收到的信号强度的级别。通常情况下,RSSI值以负数形式表示,通常以dbm(分贝毫瓦)为单位,数值越大表示信号强度越弱。在dBm的尺度上,每增加3dBm,信号强度大约翻倍。例如,-70 dBm的信号强度比-73 dBm的信号强度大约要高一倍,而-67 dBm的信号强度则比-70 dBm的信号强度大约要高一倍。
问题3: What is the range of RSSI and hence variation in SNRs in the trace? Give this as the strongest and weakest RSSI and the dB difference between them.
- RSSI变化范围为-94~-21dBm,差值为73
![]()
![]()
- SNR变化范围为6~79dB,差值为73
![]()
5. 802.11链路层
补充知识:不同帧的类型
![]()
![]()
![]()
在统计菜单下,选择对话和WLAN(对于无线局域网,即802.11)。这将弹出一个如下图所示的窗口,其中列出了每对正在通信的计算机。您可以通过单击数据包或字节列标题,按大小对此列表进行排序。该视图将帮助我们进一步探索跟踪,首先是链路层活动的摘要。
问题1: What is the BSS ID used by the most active wireless conversations? A BSS ID value identifies an AP, so this BSS ID identifies the most active AP, presumably the AP we are monitoring. To help find it, you can sort on the source or destination address by clicking on the column heading. We can also look to see the amounts we have of different types of traffic. 802.11 frames are either Data, Control, or Management frames. These frames are distinguished by the value in the Type subfield of the Frame Control field. You can inspect different packets to see the values for different types of frames.
![]()
根据packets列进行排序,可得到最活跃的无线会话,如下图所示。其BSS ID为:00:16:36:83:32:40
通过在顶部面板中帧列表上方的过滤器框中输入表达式“wlan.fc.type==2 ”,过滤以仅查看数据帧。单击Type子字段会在底部的状态显示中告诉我们,Wireshark知道这个字段的名称是wlan.fc.type。因此,过滤类型值为2的数据帧的表达式是“wlan.fc.type=="data frame " "或“wlan.fc.type==2”。当您将这个表达式输入到您的过滤器框中时,显示应该如下图所示。应用此过滤器后,底部的状态行将告诉您显示了多少跟踪数据包。这将告诉您跟踪中有多少数据帧。根据子类型子字段的值,可能有几种不同类型的数据帧,如信息列中所示。您可以点击此列标题,按帧类型进行排序,以查看哪些类型是流行的。
问题2: How many Data frames are in the trace, and what is the most common subtype of Data frame?
![]()
![]()
可以知道最常见的子类型为8,数据帧的数量为777。
问题3: How many Control frames are in the trace, and what is the most common subtype?
![]()
![]()
如图所示,控制帧的数量为616,最常见的子类型为13
问题4: How many Management frames are in the trace, and what is the most common subtype?
![]()
如图所示,管理帧的数量为960,最常见的子类型为8
问题5: List in the order they are sent the IEEE 802.11 fields in an Acknowledgement frame and their lengths in bytes. Do not break down the Frame Control field into subfields, as we have already looked at these details.
帧控制 持续时间 接收器地址 帧检验序列 2 2 6 4
问题6: Give an estimate of the retransmission rate as the number of retransmissions over the number of original transmissions. Show your calculation.
![]()
![]()
如下图所示,原始数据帧数量616,重传数据帧250,重传率250/616=0.405
问题7: What fraction of the frames sent to the AP signal that the client is powering down?
- wlan.fc.tods==1表示筛选从目标(客户端)发送给发送方(AP)的帧
- wlan.fc.pwrmgt==1表示找到所有表示睡眠的帧,因此有119个客户端关机
![]()
6. 802.11管理
除了数据和确认帧之外,我们还将查看几种类型的管理帧,这些帧用于将计算机连接到 AP,以便它可以发送和接收消息。
1、信标帧
在跟踪中选择一个信标帧,其 BSSID是步骤 4中的主 AP的信标帧。信标帧由 AP 定期发送,向附近的计算机通告它的存在和能力。该帧的 IEEE 802.11 记录将类似于我们上面回顾的数据帧的记录,使用不同的类型和子类型代码来指示它是信标帧。然而,该帧的有效载荷将有所不同:它是 IEEE 802.11 无线局域网管理帧记录。您将看到,在一些固定参数之后,它有一系列标记的参数,列出了 AP 的功能,其中包括 AP 的 SSID 名称(与 BSS ID 一起使用的文本字符串)、它支持的数据速率以及它运行的信道。
问题1: What is the SSID of the main AP? This is one of the tagged parameters in the Beacon frame.
主AP的BSSID为Cisco-Li_f7:1d:51,SSID如图:
![]()
问题2: How often are Beacon frames sent for the main AP? You may find the Beacon interval given in the Beacon frame itself, or change the Time display to be show the interval since the last frame. (Under View, select Time Display Format, and “Seconds Since Previous Displayed Packet”.)
如下图所示,时间间隔为0.102400s
![]()
问题3: What data rates does the main AP support? The rates are listed under tagged parameters.
支持数据速率6,9,12,18,24,36,48,54
![]()
问题4: What rate is the Beacon frame transmission? The answer to this question will be found on the Radiotap header, or more conveniently displayed in the column you added in an earlier step.
如图所示,信标帧传输速率为1Mb/s
![]()
问题5: What are the Type and Subtype values of Association Request / Association Response frames?
类型均为0,子类型Association request为0, Association response为1
![]()
问题6: What are the Type and Subtype values for the Probe Request / Probe Response frames?
类型均为0,子类型Probe request为4, Probe response为5
![]()
![]()
7. 总结
本文到这里就结束啦~~
如果觉得对你有帮助,辛苦友友点个赞哦~
相关文章:
![](https://i-blog.csdnimg.cn/blog_migrate/c6909aecbcc13d601e65c093ad0ee5d7.gif)
【计算机网络】lab3 802.11 (无线网络帧)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2.…...
![](https://i-blog.csdnimg.cn/direct/445d92691c6d4db5bcb84fd0f356cbfc.png)
单片机(MCU)-简单认识
简介: 内部集成了CPU,RAM,ROM,定时器,中断系统,通讯接口等一系列电脑的常用硬件功能。 单片机的任务是信息采集(依靠传感器),处理(依靠CPU)&…...
![](https://i-blog.csdnimg.cn/direct/2f6e80576dd24347a31b4edc18500638.png)
全面教程:Nacos 2.3.2 启用鉴权与 MySQL 数据存储配置
全面教程:Nacos 2.3.2 启用鉴权与 MySQL 数据存储配置 1. 配置 Nacos 开启鉴权功能 1.1 修改 application.properties 配置文件 在 Nacos 2.3.2 中,开启鉴权功能需要修改 conf/application.properties 文件。按照以下方式配置: # 开启鉴权…...
![](https://i-blog.csdnimg.cn/img_convert/15c3261df22d346fd2c25840c29695e3.webp?x-oss-process=image/format,png)
软件23种设计模式完整版[附Java版示例代码]
一、什么是设计模式 设计模式是在软件设计中反复出现的问题的通用解决方案。它们是经过多次验证和应用的指导原则,旨在帮助软件开发人员解决特定类型的问题,提高代码的可维护性、可扩展性和重用性。 设计模式是一种抽象化的思维方式,可以帮助开发人员更好地组织和设计他们…...
![](https://i-blog.csdnimg.cn/img_convert/40d449e31c49ec5d2d6c5a53f9896d53.png)
国标GB28181-2022视频平台EasyGBS小知识:局域网ip地址不够用怎么解决?
在局域网中,IP地址不足的问题通常不会在小型网络中出现,但在拥有超过255台设备的大型局域网中,就需要考虑如何解决IP地址不够用的问题了。 在企业局域网中,经常会出现私有IP地址如192.168.1.x到192.168.1.255不够用的情况。由于0…...
![](https://www.ngui.cc/images/no-images.jpg)
PHP 循环控制结构深度剖析:从基础到实战应用
PHP 循环控制结构深度剖析:从基础到实战应用 PHP提供了多种控制结构,其中循环控制结构是最常见的结构之一。它们使得我们能够高效地重复执行一段代码,直到满足某个条件为止。本文将从PHP循环的基础知识出发,逐步分析其在实际项目…...
![](https://i-blog.csdnimg.cn/direct/32e7e880ecec469fbf4441f0672bef23.png)
vue的属性绑定
重建一个新的项目 App.vue main.js HelloWorld.vue 属性绑定 双大括号不能在 HTML attributes 中使用。想要响应式地绑定一个 attribute,应该使用 v-bind 指令 <template><div v-bind:id"dynamicId" v-bind:class"dynamicClass">…...
![](https://i-blog.csdnimg.cn/direct/3f42b570e68c4e2db4493b08d5063c1d.png#pic_center)
FFmpeg音视频流媒体,视频编解码性能优化
你是不是也有过这样一个疑问:视频如何从一个简单的文件变成你手机上快速播放的短片,或者是那种占满大屏幕的超高清大片?它背后的法宝,离不开一个神奇的工具——FFmpeg!说它强大,完全不为过,它在…...
![](https://www.ngui.cc/images/no-images.jpg)
16_Redis Lua脚本
Redis Lua脚本是Redis提供的一种强大的扩展机制。 1.Redis Lua脚本介绍 1.1 基本概念 Redis Lua脚本允许开发者将一段Lua语言编写的代码发送给Redis服务器执行。这项功能自Redis 2.6版本引入以来,为用户提供了强大的灵活性和扩展能力,使得可以在Redis内部直接处理复杂的业…...
![](https://i-blog.csdnimg.cn/direct/e34adf8c330541118fae395edec67d83.png)
Redis为 List/Set/Hash 的元素设置单独的过期时间
一.业务简介 我们知道,Redis 里面暂时没有接口给 List、Set 或者 Hash 的 field 单独设置过期时间,只能给整个列表、集合或者 Hash 设置过期时间。 这样,当 List/Set/Hash 过期时,里面的所有 field 元素就全部过期了。但这样并不…...
![](https://www.ngui.cc/images/no-images.jpg)
鸿蒙中调整应用内文字大小
1、ui Stack() {Row() {ForEach([1, 2, 3, 4], (item: number) > {Text().width(3).height(20).backgroundColor(Color.Black).margin(item 2 ? { left: 8 } : item 3 ? { left: 7 } : { left: 0 })})}.width(97%).justifyContent(FlexAlign.SpaceBetween).padding({ ri…...
![](https://www.ngui.cc/images/no-images.jpg)
计算机网络之---防火墙与入侵检测系统(IDS)
防火墙与入侵检测系统(IDS) 防火墙(Firewall) 和 入侵检测系统(IDS, Intrusion Detection System) 都是网络安全的关键组件,但它们的作用、功能和工作方式有所不同。 防火墙 防火墙是网络安全的一种设备或软件&#…...
![](https://i-blog.csdnimg.cn/direct/2d302af3de3f44dcb3c3482c3273e779.png)
KG-CoT:基于知识图谱的大语言模型问答的思维链提示
一些符号定义 知识图谱实体数量: n n n 知识图谱中关系类型数量: m m m 三元组矩阵: M ∈ { 0 , 1 } n n m \textbf{M} \in \{0, 1\}^{n \times n \times m} M∈{0,1}nnm, M i j k 1 M_{ij}^k 1 Mijk1则说明实体 i i i和实…...
![](https://www.ngui.cc/images/no-images.jpg)
【JMeter】多接口关联
1. 同一线程组内,如何实现多接口关联 非加密的值 前置接口的返回单条数据使用Json提取器提取前置接口的返回多条数据使用Json提取器+逻辑控制器Loop Controller前置接口的返回多条数据使用Json提取器+逻辑控制器forEach加密的值 前置接口的返回值使用Beanshell后置提取器存储为…...
![](https://www.ngui.cc/images/no-images.jpg)
2020 年 12 月青少年软编等考 C 语言五级真题解析
目录 T1. 漫漫回国路思路分析T2. 装箱问题思路分析T3. 鸣人和佐助思路分析T4. 分成互质组思路分析T1. 漫漫回国路 2020 年 5 月,国际航班一票难求。一位在美国华盛顿的中国留学生,因为一些原因必须在本周内回到北京。现在已知各个机场之间的航班情况,求问他回不回得来(不考…...
![](https://www.ngui.cc/images/no-images.jpg)
前端实时显示当前在线人数的实现
实时显示当前在线人数的实现 本文档提供了在网页上实时显示当前在线人数的多种实现方法,包括使用 WebSocket 实现实时更新和轮询方式实现非实时更新。 方法一:使用 WebSocket 实现实时更新 服务器端设置 通过 Node.js 和 WebSocket 库(如 …...
![](https://i-blog.csdnimg.cn/direct/aa90735fb08942909e82d821074aa0b3.png)
Linux第一个系统程序---进度条
进度条---命令行版本 回车换行 其实本质上回车和换行是不同概念,我们用一张图来简单的理解一下: 在计算机语言当中: 换行符:\n 回车符:\r \r\n:回车换行 这时候有人可能会有疑问:我在学习C…...
![](https://i-blog.csdnimg.cn/direct/368f68deb2674a069d2e89a429cf86e1.png)
vscode 无法使用npm, cmd命令行窗口可以正常执行
解决方法: 执行命令获得命令的位置 get-command npm 得到如下 然后删除或者修改 npm.ps1文件 让其不能使用就行。然后重启vscode即可。 pnpm 同理即可 另外加速源 国内镜像源(淘宝): npm config set registry https://regist…...
![](https://www.ngui.cc/images/no-images.jpg)
Leetcode 967 Numbers With Same Consecutive Differences
题意 给定n,代表整数的长度,给定k代表两个相邻数字之间的间隔。求所有的值构成的组合 题目链接 https://leetcode.com/problems/numbers-with-same-consecutive-differences/description/ 题解 dfs,有k位置要选,第一个位置我…...
![](https://www.ngui.cc/images/no-images.jpg)
node.js中实现token的生成与验证
Token(令牌)是一种用于在客户端和服务器之间安全传输信息的加密字符串。在Web开发中,Token常用于身份验证和授权,确保用户能够安全地访问受保护的资源。 作用与意义 身份验证:Token可以用来验证用户的身份࿰…...
![](https://www.ngui.cc/images/no-images.jpg)
[C++11]_[初级]_[工作线程如何监听主线程条件变量wait_for方法的使用]
场景 在开发多线程程序时,有时候需要启动一个线程来监听外部进程的执行情况,并且在指定时间如果还没运行结束就强制结束外部线程。那么C标准库有这种监听线程并能在超时时提示的方法吗? 说明 在C11的<condition_variable>里就可以用…...
![](https://i-blog.csdnimg.cn/direct/0665e7996b2344df93ec105b8cff2b98.png)
Openstack持久存储-Swift,Cinder,Manila三者之间的区别
总结不易,给个三连吧!!! 补充: 文件共享存储服务Manila 在OpenStack生态系统中,Cinder和Manila分别提供了两种不同类型的存储服务,类似于传统的SAN(存储区域网络)和NAS&…...
深度学习第三弹:python入门与线性表示代码
一、python入门 1.熟悉基础数据结构——整型数据,浮点型数据,列表,字典,字符串;了解列表及字典的切片,插入,删除操作。 list1 [1, 2, 3, 4, 5] for each in list1:print(each) print(list1[1…...
![](https://i-blog.csdnimg.cn/direct/29a0463a1d3f40ce98781a7487b57df3.png)
解决报错记录:TypeError: vars() argument must have __dict__ attribute
解决报错记录:manager_pyplot_show vars(manager_class).get(“pyplot_show“) TypeError: vars() argument must 1.问题引申 在pycharm中调用matplotlib函数批量绘制维度图时,抛出异常: manager_pyplot_show vars(manager_class).get(&…...
![](https://i-blog.csdnimg.cn/direct/7c70be680e144d2da040d421bcd628ef.png)
SpringBoot 原理篇(day14)
配置优先级 SpringBoot 中支持三种格式的配置文件: 配置文件优先级排名(从高到低): properties 配置文件yml 配置文件yaml 配置文件 注意事项 虽然 springboot 支持多种格式配置文件,但是在项目开发时,推荐…...
![](https://i-blog.csdnimg.cn/direct/e5f1bd664bf2481283a278d96dcb1f82.png)
Vscode辅助编码AI神器continue插件
案例效果 1、安装或者更新vscode 有些版本的vscode不支持continue,最好更新到最新版,也可以直接官网下载 https://code.visualstudio.com/Download 2、安装continue插件 搜索continue,还未安装的,右下脚有个Install,点击安装即可 <...
![](https://i-blog.csdnimg.cn/direct/8aa38156de2149d1ab77d8dec371d9f3.webp)
Type-C单口便携显示器-LDR6021
Type-C单口便携显示器是一种新兴的显示设备,它凭借其便携性、高性能和广泛的应用场景等优势,正在成为市场的新宠。以下是Type-C单口便携显示器的具体运用方式: 一、连接与传输 1. **设备连接**:Type-C单口便携显示器通过Type-C接…...
![](https://www.ngui.cc/images/no-images.jpg)
青少年编程与数学 02-006 前端开发框架VUE 19课题、内置组件
青少年编程与数学 02-006 前端开发框架VUE 19课题、内置组件 一、Transition<Transition> 组件基于 CSS 的过渡效果CSS 过渡 class为过渡效果命名CSS 的 transitionCSS 的 animation自定义过渡 class同时使用 transition 和 animation深层级过渡与显式过渡时长性能考量 J…...
![](https://i-blog.csdnimg.cn/direct/d1ee59a4ef094e10b50e67e2882b43f3.png)
腾讯云AI代码助手编程挑战赛 - 使用 JavaScript 构建一个简易日历
功能简介: 动态年份选择:用户可以通过下拉框选择从 2000 年到 2050 年的任意年份。全年日历生成:根据用户选择的年份,动态生成该年份的所有 12 个月份的日历。直观的 UI 设计:使用 CSS 美化日历外观,使日历…...
![](https://i-blog.csdnimg.cn/direct/75ba991b4ded42c599834bac5038e341.png)
Xcode 正则表达式实现查找替换
在软件开发过程中,查找和替换文本是一项常见的任务。正则表达式(Regular Expressions)是一种强大的工具,可以帮助我们在复杂的文本中进行精确的匹配和替换。Xcode 作为一款流行的开发工具,提供了对正则表达式的支持。本…...
![](https://img-blog.csdnimg.cn/20201103172816141.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jhb3hpYW95YQ==,size_16,color_FFFFFF,t_70#pic_center)
女人与马做受网站/磁力多多
标砖库提供了 net/rpc 包用来实现基础的rpc调用。 net/rpc库使用encoding/gob进行编解码,支持tcp或http数据传输方式,由于其他语言不支持gob编解码方式,所以使用net/rpc库实现的RPC方法没办法进行跨语言调用。 主要有服务端和客户端。 首先…...
![](https://img2018.cnblogs.com/blog/1223374/201812/1223374-20181201220751432-390021265.png)
如何做公司网站简介/流量网站
相信大家在工作中会经常遇见对json进行序列化与反序列化吧,但通常的序列化与反序列化中的json结构与c#中的类模型结构是相对应的,我们是否可以在序列化一个对象时候,让我们json的数据结构能按照自己的意愿,而不必与该对象的数据结…...
![](/images/no-images.jpg)
wordpress被攻击/花关键词排名系统
Requests 获取响应内容1,Requests 获取响应内容1,Requests 获取响应内容 url.text 响应内容url.encoding 文本编码 #!/usr/local/bin/python3 import requests url requests.get(https://filscan.io:8700/v0/filscan/BaseInformation)print ("He…...
![](/images/no-images.jpg)
如何做静态页网站/技术优化seo
转自:https://www.pinlue.com/article/2019/12/2516/179857887645.html...
![](/images/no-images.jpg)
做垂直平台网站/公司企业网站建设
今天我在设置cookie的时候,发现cookie的值获取有问题 问题代码 //创建cookie,将当前的时间作为cookie的值发送给客户端String currentTimenew SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());Cookie cookienew Cookie("lastAccess&quo…...
![](/images/no-images.jpg)
windows卸载wordpress/站长工具查询官网
诺基亚 接入点 移动流媒体诺基亚已经签署了一项收购移动分析软件提供商Motally的协议。 Motally提供应用程序内跟踪和报告功能,诺基亚计划为Qt,Symbian,Meego和Java开发人员改编Motally的产品。 该移动公司还计划继续为Motally的现有客户群提…...