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

pyshark安装使用,ubuntu:20.04

1.容器创建

命令 docker run -d --name pyshark -v D:\src:/root/share ubuntu:2004 /bin/bash -c "while true;do sleep 1000;done" 用于创建并启动一个新的 Docker 容器。

docker run -d --name pyshark -v D:\src:/root/share ubuntu:2004 /bin/bash -c "while true;do sleep 1000;done"
5bd3f36da18ef4cf158ef021ed411a53cb5b5ea65e306c6c03025e26b1f5553c

2.进入容器

命令 docker exec -it pyshark /bin/bash 用于进入一个正在运行的 Docker 容器,并启动一个交互式的 Bash shell 会话

 docker exec -it pyshark /bin/bash

3.更新安装

apt update
作用:更新软件包列表。
解释:apt update 命令会从配置的软件源(通常是 /etc/apt/sources.list 和 /etc/apt/sources.list.d/ 目录下的文件)获取最新的软件包信息,并更新本地的软件包索引。这是安装新软件包或升级现有软件包之前的一个必要步骤。


apt install -y python3-pip
作用:安装 python3-pip 包。
解释:
apt install 命令用于安装指定的软件包。
-y 标志表示自动确认所有提示(即自动回答“是”),这样可以避免在自动化脚本中出现交互式提示。
python3-pip 是 Python 3 的 pip 包管理器。pip 是一个用于安装和管理 Python 包的工具。


pip install pyshark
作用:使用 pip 安装 pyshark 库。
解释:
pip 是 Python 的包管理器,用于安装和管理 Python 包。
install 命令用于安装指定的包。
pyshark 是一个 Python 库,用于解析网络数据包,它依赖于 libpcap 和 tshark(Wireshark 的命令行工具)。

apt update
apt install -y python3-pip
pip install pyshark

4.安装tshark,时区选择亚洲上海(6和70),后面yes,即非root可以运行。

apt update
apt install -y tshark

到此安装完成

解析pcap文件(下载链接)【免费】mqtt等协议的pcap文件资源-CSDN文库

python代码

import pyshark# 读取PCAP文件
pcap_file = 'exported_tr01.pcap'  # 替换为你的PCAP文件路径
cap = pyshark.FileCapture(pcap_file)# 遍历数据包并提取FTP数据包
mqtt_packets = []
for packet in cap:if 'MQTT' in packet:mqtt_packets.append(packet)# 输出FTP数据包
for mqtt_packet in mqtt_packets:print(mqtt_packet)

结果:

命令:tshark -r exported_tr01.pcap -Y "mqtt"

root@5bd3f36da18e:~/share/tshark_py# tshark -r exported_tr01.pcap -Y "mqtt"
Running as user "root" and group "root". This could be dangerous.4   0.096000  10.21.56.15 ? 8.137.154.246 MQTT 91 Connect Command6   0.149000 8.137.154.246 ? 10.21.56.15  MQTT 58 Connect Ack9   0.396000 8.137.154.246 ? 10.21.56.15  MQTT 58 [TCP Spurious Retransmission] , Connect Ack13   0.434000  10.21.56.15 ? 8.137.154.246 MQTT 105 Connect Command15   0.519000 8.137.154.246 ? 10.21.56.15  MQTT 58 Connect Ack17   0.787000  10.21.56.15 ? 8.137.154.246 MQTT 91 Subscribe Request (id=26163) [hello101] [hello102] [hello103]18   0.835000 8.137.154.246 ? 10.21.56.15  MQTT 61 Subscribe Ack (id=26163)19   0.835000 8.137.154.246 ? 10.21.56.15  MQTT 68 Publish Message [hello101]21   1.264000  10.21.56.15 ? 8.137.154.246 MQTT 69 Subscribe Request (id=44324) [hello103]22   1.321000 8.137.154.246 ? 10.21.56.15  MQTT 59 Subscribe Ack (id=44324)24   1.552000  10.21.56.15 ? 8.137.154.246 MQTT 69 Subscribe Request (id=44325) [hello103]25   1.615000 8.137.154.246 ? 10.21.56.15  MQTT 59 Subscribe Ack (id=44325)27   1.908000  10.21.56.15 ? 8.137.154.246 MQTT 82 Subscribe Request (id=26164) [cx001] [cx111] [cx221]28   1.968000 8.137.154.246 ? 10.21.56.15  MQTT 61 Subscribe Ack (id=26164)30   2.201000  10.21.56.15 ? 8.137.154.246 MQTT 125 Subscribe Request (id=26165) [123456789abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXY\0Z]31   2.251000 8.137.154.246 ? 10.21.56.15  MQTT 59 Subscribe Ack (id=26165)33   2.479000  10.21.56.15 ? 8.137.154.246 MQTT 65 Unsubscribe Request (id=26166)34   2.532000 8.137.154.246 ? 10.21.56.15  MQTT 58 Unsubscribe Ack (id=26166)36   2.779000  10.21.56.15 ? 8.137.154.246 MQTT 79 Unsubscribe Request (id=26167)37   2.816000 8.137.154.246 ? 10.21.56.15  MQTT 58 Unsubscribe Ack (id=26167)39   3.050000  10.21.56.15 ? 8.137.154.246 MQTT 124 Unsubscribe Request (id=26168)40   3.128000 8.137.154.246 ? 10.21.56.15  MQTT 58 Unsubscribe Ack (id=26168)42   3.379000  10.21.56.15 ? 8.137.154.246 MQTT 318 Subscribe Request (id=26169)[Packet size limited during capture]43   3.436000 8.137.154.246 ? 10.21.56.15  MQTT 59 Subscribe Ack (id=26169)45   3.715000  10.21.56.15 ? 8.137.154.246 MQTT 70 Subscribe Request (id=26170) [hello103c]46   3.768000 8.137.154.246 ? 10.21.56.15  MQTT 59 Subscribe Ack (id=26170)48   3.984000  10.21.56.15 ? 8.137.154.246 MQTT 321 Subscribe Request (id=26171)[Packet size limited during capture]49   4.053000 8.137.154.246 ? 10.21.56.15  MQTT 59 Subscribe Ack (id=26171)51   4.332000  10.21.56.15 ? 8.137.154.246 MQTT 68 Unsubscribe Request (id=44326)52   4.385000 8.137.154.246 ? 10.21.56.15  MQTT 58 Unsubscribe Ack (id=44326)53   4.517000  10.21.56.15 ? 8.137.154.246 MQTT 67 Publish Message [hello103c]54   4.570000 8.137.154.246 ? 10.21.56.15  MQTT 67 Publish Message [hello103c]57   4.686000 8.137.154.246 ? 10.21.56.15  MQTT 58 [TCP Spurious Retransmission] , Unsubscribe Ack (id=44326)59   4.940000  10.21.56.15 ? 8.137.154.246 MQTT 246 Publish Message (id=26173) [hello103c][Packet size limited during capture]60   4.987000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26173)61   4.987000 8.137.154.246 ? 10.21.56.15  MQTT 244 Publish Message [hello103c][Packet size limited during capture]63   5.341000  10.21.56.15 ? 8.137.154.246 MQTT 1037 Publish Message (id=26174) [hello103c][Packet size limited during capture]        64   5.435000 8.137.154.246 ? 10.21.56.15  MQTT 1039 Publish Ack (id=26174), Publish Message [hello103c][Packet size limited during capture]66   5.742000  10.21.56.15 ? 8.137.154.246 MQTT 1454 Publish Message (id=26175) [hello103c][Malformed Packet: length of contained item exceeds length of containing item]67   5.742000  10.21.56.15 ? 8.137.154.246 MQTT 663 Publish Message[Unreassembled Packet], Connect Ack69   5.809000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26175)70   5.810000 8.137.154.246 ? 10.21.56.15  MQTT 1454 Publish Message [hello103c][Malformed Packet: length of contained item exceeds length of containing item]71   5.810000 8.137.154.246 ? 10.21.56.15  MQTT 661 Publish Received (id=13865), Publish Release (id=18046)74   6.042000  10.21.56.15 ? 8.137.154.246 MQTT 70 Publish Message [hello101]75   6.089000 8.137.154.246 ? 10.21.56.15  MQTT 70 Publish Message [hello101]77   6.437000  10.21.56.15 ? 8.137.154.246 MQTT 66 Publish Message [hello101]78   6.475000 8.137.154.246 ? 10.21.56.15  MQTT 66 Publish Message [hello101]80   6.722000  10.21.56.15 ? 8.137.154.246 MQTT 113 Publish Message [hello103]81   6.776000 8.137.154.246 ? 10.21.56.15  MQTT 113 Publish Message [hello103]83   7.061000  10.21.56.15 ? 8.137.154.246 MQTT 115 Publish Message (id=26179) [hello103]84   7.139000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26179)85   7.139000 8.137.154.246 ? 10.21.56.15  MQTT 115 Publish Message (id=1) [hello103]87   7.208000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Ack (id=1)89   7.346000  10.21.56.15 ? 8.137.154.246 MQTT 176 Publish Message [hello101][Packet size limited during capture]91   7.393000 8.137.154.246 ? 10.21.56.15  MQTT 176 Publish Message [hello101][Packet size limited during capture]93   7.624000  10.21.56.15 ? 8.137.154.246 MQTT 178 Publish Message (id=26181) [hello101][Packet size limited during capture]94   7.693000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26181)95   7.693000 8.137.154.246 ? 10.21.56.15  MQTT 176 Publish Message [hello101][Packet size limited during capture]97   7.894000  10.21.56.15 ? 8.137.154.246 MQTT 74 Publish Message (id=26182) [hello101]98   7.947000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Received (id=26182)99   7.947000 8.137.154.246 ? 10.21.56.15  MQTT 72 Publish Message [hello101]101   8.025000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Release (id=26182)102   8.079000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Complete (id=26182)104   8.179000  10.21.56.15 ? 8.137.154.246 MQTT 178 Publish Message (id=26183) [hello101][Packet size limited during capture]105   8.248000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Received (id=26183)106   8.248000 8.137.154.246 ? 10.21.56.15  MQTT 176 Publish Message [hello101][Packet size limited during capture]108   8.316000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Release (id=26183)109   8.363000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Complete (id=26183)111   8.464000  10.21.56.15 ? 8.137.154.246 MQTT 176 Publish Message [hello102][Packet size limited during capture]112   8.511000 8.137.154.246 ? 10.21.56.15  MQTT 176 Publish Message [hello102][Packet size limited during capture]114   8.742000  10.21.56.15 ? 8.137.154.246 MQTT 178 Publish Message (id=26185) [hello102][Packet size limited during capture]115   8.811000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26185)116   8.811000 8.137.154.246 ? 10.21.56.15  MQTT 178 Publish Message (id=2) [hello102][Packet size limited during capture]118   8.896000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Ack (id=2)120   9.065000  10.21.56.15 ? 8.137.154.246 MQTT 73 Publish Message (id=26186) [hello102]122   9.128000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Received (id=26186)123   9.128000 8.137.154.246 ? 10.21.56.15  MQTT 73 Publish Message (id=3) [hello102]125   9.202000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Release (id=26186)126   9.212000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Ack (id=3)127   9.243000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Complete (id=26186)130   9.572000  10.21.56.15 ? 8.137.154.246 MQTT 178 Publish Message (id=26187) [hello102][Packet size limited during capture]132   9.625000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Received (id=26187)133   9.625000 8.137.154.246 ? 10.21.56.15  MQTT 178 Publish Message (id=4) [hello102][Packet size limited during capture]135   9.710000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Release (id=26187)136   9.725000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Ack (id=4)138   9.768000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Complete (id=26187)139   9.850000  10.21.56.15 ? 8.137.154.246 MQTT 176 Publish Message [hello103][Packet size limited during capture]140   9.925000 8.137.154.246 ? 10.21.56.15  MQTT 176 Publish Message [hello103][Packet size limited during capture]141  10.126000  10.21.56.15 ? 8.137.154.246 MQTT 178 Publish Message (id=26189) [hello103][Packet size limited during capture]142  10.195000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26189)143  10.195000 8.137.154.246 ? 10.21.56.15  MQTT 178 Publish Message (id=5) [hello103][Packet size limited during capture]145  10.273000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Ack (id=5)147  10.411000  10.21.56.15 ? 8.137.154.246 MQTT 178 Publish Message (id=26190) [hello103][Packet size limited during capture]149  10.474000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Received (id=26190)150  10.474000 8.137.154.246 ? 10.21.56.15  MQTT 178 Publish Message (id=6) [hello103][Packet size limited during capture]152  10.558000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Release (id=26190)153  10.574000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Received (id=6)154  10.627000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Complete (id=26190)155  10.643000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Release (id=6)157  10.728000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Complete (id=6)158  10.743000  10.21.56.15 ? 8.137.154.246 MQTT 179 Publish Message (id=26191) [hello101][Packet size limited during capture]160  10.797000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Received (id=26191)161  10.797000 8.137.154.246 ? 10.21.56.15  MQTT 177 Publish Message [hello101][Packet size limited during capture]163  10.875000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Release (id=26191)164  10.928000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Complete (id=26191)165  11.028000  10.21.56.15 ? 8.137.154.246 MQTT 1093 Publish Message (id=26192) [hello103][Packet size limited during capture]166  11.097000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26192)167  11.097000 8.137.154.246 ? 10.21.56.15  MQTT 1093 Publish Message (id=7) [hello103][Packet size limited during capture]169  11.175000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Ack (id=7)171  11.414000  10.21.56.15 ? 8.137.154.246 MQTT 1093 Publish Message (id=26193) [hello103][Packet size limited during capture]173  11.476000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26193)174  11.476000 8.137.154.246 ? 10.21.56.15  MQTT 1093 Publish Message (id=8) [hello103][Packet size limited during capture]176  11.561000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Ack (id=8)178  11.746000  10.21.56.15 ? 8.137.154.246 MQTT 70 Publish Message (id=26194) [hello103]180  11.799000 8.137.154.246 ? 10.21.56.15  MQTT 74 Publish Ack (id=26194), Publish Message (id=9) [hello103]181  11.877000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Ack (id=9)183  12.378000  10.21.56.15 ? 8.137.154.246 MQTT 1093 Publish Message (id=26195) [hello103][Packet size limited during capture]185  12.447000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26195)186  12.447000 8.137.154.246 ? 10.21.56.15  MQTT 1093 Publish Message (id=10) [hello103][Packet size limited during capture]188  12.532000  10.21.56.15 ? 8.137.154.246 MQTT 58 Publish Ack (id=10)189  12.648000  10.21.56.15 ? 8.137.154.246 MQTT 78 Publish Message (id=26196) [hello1retain1]192  12.694000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26196)194  12.933000  10.21.56.15 ? 8.137.154.246 MQTT 74 Subscribe Request (id=26197) [hello1retain1]195  12.995000 8.137.154.246 ? 10.21.56.15  MQTT 81 Subscribe Ack (id=26197), Publish Message [hello1retain1]197  13.218000  10.21.56.15 ? 8.137.154.246 MQTT 78 Publish Message (id=26198) [hello1retain0]198  13.249000 8.137.154.246 ? 10.21.56.15  MQTT 58 Publish Ack (id=26198)200  13.496000  10.21.56.15 ? 8.137.154.246 MQTT 74 Subscribe Request (id=26199) [hello1retain0]201  13.534000 8.137.154.246 ? 10.21.56.15  MQTT 59 Subscribe Ack (id=26199)205  23.706000  10.21.56.15 ? 8.137.154.246 MQTT 67 Publish Message [hello103c]206  23.759000 8.137.154.246 ? 10.21.56.15  MQTT 67 Publish Message [hello103c]207  23.975000  10.21.56.15 ? 8.137.154.246 MQTT 71 Publish Message [hello103]208  24.029000 8.137.154.246 ? 10.21.56.15  MQTT 71 Publish Message [hello103]210  24.323000  10.21.56.15 ? 8.137.154.246 MQTT 70 Publish Message [hello103]211  24.392000 8.137.154.246 ? 10.21.56.15  MQTT 70 Publish Message [hello103]213  24.608000  10.21.56.15 ? 8.137.154.246 MQTT 72 Publish Message [hello103]214  24.646000 8.137.154.246 ? 10.21.56.15  MQTT 72 Publish Message [hello103]216  24.877000  10.21.56.15 ? 8.137.154.246 MQTT 323 Publish Message [hello103][Packet size limited during capture]217  24.962000 8.137.154.246 ? 10.21.56.15  MQTT 323 Publish Message [hello103][Packet size limited during capture]219  25.278000  10.21.56.15 ? 8.137.154.246 MQTT 70 Publish Message [hello103]220  25.325000 8.137.154.246 ? 10.21.56.15  MQTT 70 Publish Message [hello103]226  47.349000  10.21.56.15 ? 8.137.154.246 MQTT 56 Disconnect Req227  47.403000  10.21.56.15 ? 8.137.154.246 MQTT 56 Disconnect Req

MQTT(Message Queuing Telemetry Transport)协议的数据包通常包含多个层次。在你提供的数据包分析中,我们可以看到该数据包包含了多个层次,每个层次负责不同的功能。下面是对各个层次的详细解释:

1. 以太网层 (ETH)
Destination: 00:00:00:00:00:00
Source: 00:00:00:00:00:00
Type: IPv4 (0x0800)
以太网层负责物理地址的传输,确保数据包能够在局域网内正确传输。这里的源和目的MAC地址都是全零,这通常表示无效或未设置的地址。

2. IP层 (IP)
Version: 4
Header Length: 20 bytes (5)
Differentiated Services Field: 0x04 (DSCP: LE, ECN: Not-ECT)
Total Length: 53
Identification: 0x0f00 (3840)
Flags: 0x4000, Don't fragment
Fragment offset: 0
Time to live: 49
Protocol: TCP (6)
Header checksum: 0x551c [validation disabled]
Source: 8.137.154.246
Destination: 10.21.56.15
IP层负责在网络层传输数据包,确保数据包能够从源地址到达目的地址。这里可以看到源IP地址是 8.137.154.246,目的IP地址是 10.21.56.15。

3. TCP层 (TCP)
Source Port: 1883
Destination Port: 64033
Sequence number: 7939 (relative sequence number)
Acknowledgment number: 8748 (relative ack number)
Header Length: 20 bytes (5)
Flags: 0x018 (PSH, ACK)
Window size value: 378
Checksum: 0x4d14 [unverified]
Urgent pointer: 0
TCP层负责提供可靠的端到端通信。这里可以看到源端口是 1883,这是MQTT协议的默认端口。目的端口是 64033。TCP标志位 PSH 和 ACK 表示这是一个带有推送标志的确认数据包。

4. MQTT层 (MQTT)
Header Flags: 0x30, Message Type: Publish Message, QoS Level: At most once delivery (Fire and Forget)
Msg Len: 11
Topic Length: 9
Topic: hello103c
Message: <MISSING>
MQTT层负责实际的MQTT消息传输。这里可以看到这是一个发布消息(Publish Message),QoS级别为0,表示“最多一次”交付(Fire and Forget)。主题(Topic)是 hello103c,但消息内容缺失。

总结
以太网层:处理物理地址和局域网内的传输。
IP层:处理网络层的传输,确保数据包从源地址到达目的地址。
TCP层:提供可靠的端到端通信。
MQTT层:处理MQTT协议的消息传输,包括发布、订阅等操作。

相关文章:

pyshark安装使用,ubuntu:20.04

1.容器创建 命令 docker run -d --name pyshark -v D:\src:/root/share ubuntu:2004 /bin/bash -c "while true;do sleep 1000;done" 用于创建并启动一个新的 Docker 容器。 docker run -d --name pyshark -v D:\src:/root/share ubuntu:2004 /bin/bash -c "w…...

基本功能实现

目录 1、环境搭建 2、按键控制灯&电机 LED 电机 垂直按键(机械按键) 3、串口调试功能 4、定时器延时和定时器中断 5、振动强弱调节 6、万年历 7、五方向按键 1、原理及分析 2、程序设计 1、环境搭建 需求: 搭建一个STM32F411CEU6工程 分析: C / C 宏定义栏…...

《那个让服务器“跳舞”的bug》

在程序的世界里&#xff0c;bug 就像隐藏在暗处的小怪兽&#xff0c;时不时跳出来捣乱。而在我的职业生涯中&#xff0c;有一个bug让我至今难忘&#xff0c;它不仅让项目差点夭折&#xff0c;还让我熬了无数个通宵。这个故事发生在一个风和日丽的下午&#xff0c;我们正在开发一…...

Python 网络爬虫进阶:动态网页爬取与反爬机制应对

在上一篇文章中&#xff0c;我们学习了如何使用 Python 构建一个基本的网络爬虫。然而&#xff0c;在实际应用中&#xff0c;许多网站使用动态内容加载或实现反爬机制来阻止未经授权的抓取。因此&#xff0c;本篇文章将深入探讨以下进阶主题&#xff1a; 如何处理动态加载的网…...

创建可直接用 root 用户 ssh 登陆的 Docker 镜像

有时候我们在 Mac OS X 或 Windows 平台下需要开发以 Linux 为运行时的应用&#xff0c;IDE 或可直接使用 Docker 容器&#xff0c;或 SSH 远程连接。本地命令行下操作虽然可以用 docker exec 连接正在运行的容器&#xff0c;但 IDE 远程连接的话 SSH 总是一种较为通用的连接方…...

wordpress 中添加图片放大功能

功能描述 使用 Fancybox 实现图片放大和灯箱效果。自动为文章内容中的图片添加链接&#xff0c;使其支持 Fancybox。修改了 header.php 和 footer.php 以引入必要的 CSS 和 JS 文件。在 functions.php 中通过过滤器自动为图片添加 data-fancybox 属性。 最终代码 1. 修改 hea…...

数据结构 (7)线性表的链式存储

前言 线性表是一种基本的数据结构&#xff0c;用于存储线性序列的元素。线性表的存储方式主要有两种&#xff1a;顺序存储和链式存储。链式存储&#xff0c;即链表&#xff0c;是一种非常灵活和高效的存储方式&#xff0c;特别适用于需要频繁插入和删除操作的场景。 链表的基本…...

库的操作.

创建、删除数据库 创建语法&#xff1a; CREATE DATABASE [IF NOT EXISTS] db_name[ ]是可选项&#xff0c;IF NOT EXISTS 是表明如果不存在才能创建数据库 //查看数据库&#xff0c;假设7行 show databases; //创建数据库 --- 本质在Linux创建一个目录 create database databa…...

Vue进阶之Vue CLI服务—@vue/cli-service Vuex

Vue CLI服务—vue/cli-service & Vuex vue/cli-service初识bin/vue-cli-service.js代码执行解读 Vuexgenerator/index.jsstore/index.js插件化的能力怎么引入呢&#xff1f; vue/cli-service 初识 第一块是上一个讲述的cli是把我们代码的配置项&#xff0c;各种各样的插件…...

导入100道注会cpa题的方法,导入试题,自己刷题

一、问题描述 复习备考的小伙伴们&#xff0c;往往希望能够利用零碎的时间和手上的试题&#xff0c;来复习和备考 用一个能够导入自己试题的刷题工具&#xff0c;既能加强练习又能利用好零碎时间&#xff0c;是一个不错的解决方案 目前市面上刷题工具存下这些问题 1、要收费…...

数据库操作、锁特性

1. DML、DDL和DQL是数据库操作语言的三种主要类型 1.1 DML&#xff08;Data Manipulation Language&#xff09;数据操纵语言 DML是用于检索、插入、更新和删除数据库中数据的SQL语句。 主要的DML语句包括&#xff1a; SELECT&#xff1a;用于查询数据库中的数据。 INSERT&a…...

学习笔记039——SpringBoot整合Redis

文章目录 1、Redis 基本操作Redis 默认有 16 个数据库&#xff0c;使用的是第 0 个&#xff0c;切换数据库添加数据/修改数据查询数据批量添加批量查询删除数据查询所有的 key清除当前数据库清除所有数据库查看 key 是否存在设置有效期查看有效期 2、Redis 数据类型String追加字…...

(笔记)简单了解ZYNQ

1、zynq首先是一个片上操作系统&#xff08;Soc&#xff09;&#xff0c;结合了arm&#xff08;PS&#xff09;和fpga&#xff08;PL&#xff09;两部分组成 Zynq系统主要由两部分组成&#xff1a;PS&#xff08;Processing System&#xff09;和PL&#xff08;Programmable L…...

大众点评小程序mtgsig1.2算法

测试效果&#xff1a; var e function _typeof(o) {return "function" typeof Symbol && "symbol" typeof Symbol.iterator? function (o) {return typeof o;}: function (o) {return o && "function" typeof Symbol &…...

七牛云AIGC内容安全方案助力企业合规创新

随着人工智能生成内容(AIGC)技术的飞速发展,内容审核的难度也随之急剧上升。在传统审核场景中,涉及色情、政治、恐怖主义等内容的标准相对清晰明确,但在AIGC的应用场景中,这些界限变得模糊且难以界定。用户可能通过交互性引导AI生成违规内容,为审核工作带来了前所未有的不可预测…...

.net的winfrom程序 窗体透明打开窗体时出现在屏幕右上角

窗体透明&#xff0c; 将Form的属性Opacity&#xff0c;由默认的100% 调整到 80%&#xff0c;这个数字越小越透明(尽量别低于50%&#xff0c;不信你试试看)&#xff01; 打开窗体时出现在屏幕右上角 //构造函数 public frmCalendarList() {InitializeComponent();//打开窗体&…...

基于YOLOv8深度学习的智慧课堂教师上课行为检测系统研究与实现(PyQt5界面+数据集+训练代码)

随着人工智能技术的迅猛发展&#xff0c;智能课堂行为分析逐渐成为提高教学质量和提升教学效率的关键工具之一。在现代教学环境中&#xff0c;能够实时了解教师的课堂表现和行为&#xff0c;对于促进互动式教学和个性化辅导具有重要意义。传统的课堂行为分析依赖于人工观测&…...

使用 Tkinter 创建一个简单的 GUI 应用程序来合并视频和音频文件

使用 Tkinter 创建一个简单的 GUI 应用程序来合并视频和音频文件 Python 是一门强大的编程语言&#xff0c;它不仅可以用于数据处理、自动化脚本&#xff0c;还可以用于创建图形用户界面 (GUI) 应用程序。在本教程中&#xff0c;我们将使用 Python 的标准库模块 tkinter 创建一…...

【C++笔记】模板进阶

前言 各位读者朋友们大家好&#xff01;上一期我们讲了stack、queue以及仿函数。先前我们讲过模板的初阶内容&#xff0c;这一期我们来更深入的学习一下模板。 一. 非类型模板参数 1.1 非类型模板参数 模板参数分为类型形参和类类型形参&#xff1a; 类型形参&#xff1a;…...

Soul App创始人张璐团队亮相GITEX GLOBAL 2024,展示多模态AI的交互创新

随着全球AI领域的竞争加剧,越来越多的科技巨头和创新企业纷纷致力于多模态AI的开发。2024年10月14日至18日,GITEX GLOBAL海湾信息技术博览会在迪拜举行,吸引了超过6700家全球科技巨头和创新公司参与,展示了智能互联、人工智能等领域的新成果。 此次展会中,Soul App创始人张璐团…...

ffmpeg.wasm 在浏览器运行ffmpeg操作视频

利用ffmpeg.wasm&#xff0c;可以在浏览器里运行ffmpeg,实现对音视频的操作 参考链接&#xff1a; https://blog.csdn.net/jchsgwbr/article/details/143252044 https://gitee.com/CXBalCai/ffmpeg-template 其他参考 https://github.com/ffmpegwasm/ffmpeg.wasm https://b…...

用Python爬虫“偷窥”1688商品详情:一场数据的奇妙冒险

引言&#xff1a;数据的宝藏 在这个信息爆炸的时代&#xff0c;数据就像是一座座等待挖掘的宝藏。而对于我们这些电商界的探险家来说&#xff0c;1688上的商品详情就是那些闪闪发光的金子。今天&#xff0c;我们将化身为数据的海盗&#xff0c;用Python这把锋利的剑&#xff0…...

CentOS上如何离线批量自动化部署zabbix 7.0版本客户端

CentOS上如何离线批量自动化部署zabbix 7.0版本客户端 管理的服务器大部分都是CentOS操作系统&#xff0c;版本主要是CentOS 7。因为监控服务器需要&#xff0c;要在前两天搭建的Zabbix 7.0系统上把这些CentOS 7系统都监控起来。因为服务器数量众多&#xff0c;而且有些服务器…...

【开源项目】ChinaAddressCrawler 中国行政区划数据(1980-2023年)采集及转换(Java版),含SQL格式及JSON格式

ChinaAddressCrawler 开源项目地址&#xff1a;https://gitee.com/li_yu_jiang/ChinaAddressCrawler 来源于国家民政部的数据只包括省级&#xff08;省/直辖市/自治区/特别行政区&#xff09;、地级&#xff08;地级市/地区/自治州/盟&#xff09;、县级&#xff08;县/市辖区…...

React中事件处理和合成事件:理解与使用

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

Local Changes不展示,DevEco Studio的git窗口中没有Local Changes

DevEco Studio的git窗口中&#xff0c;没有Local Changes&#xff0c;怎么设置可以调出&#xff1f; 进入File-->Settings-->Version Control&#xff0c;将Use non-modal commit interface前的勾选框取消勾选&#xff0c;点击OK即可在打开git窗口&#xff0c;就可以看到…...

大数据笔记

第一章、大数据概述 人类的行为及产生的事件的一种记录称之为数据。 1、大数据时代的特征&#xff0c;并结合生活实例谈谈带来的影响。 &#xff08;一&#xff09;特征 1、Volume 规模性&#xff1a;数据量大。 2、Velocity高速性&#xff1a;处理速度快。数据的生成和响…...

【Linux网络编程】TCP套接字

TCP与UDP的区别&#xff1a; udp是无连接的、面向数据报&#xff08;通信时以数据报为单位传输&#xff09;的传输层通信协议&#xff0c;其中每个数据报都是独立的&#xff0c;通信之前不需要建立连接&#xff0c;bind绑定套接字后直接可以进行通信。 tcp是面向连接的、基于字…...

在Manjaro Gnome桌面的基础上安装Budgie桌面环境

在Manjaro上安装Budgie桌面环境 Budgie是Solus团队开发的一种简单而优雅的桌面环境。 Budgie是由Solus项目主要开发的流行桌面环境&#xff0c;与GNOME堆栈紧密集成。它提供了简单而优雅的用户体验&#xff0c;并且可用于大多数发行版&#xff0c;如Arch、Debian、Manjaro等。…...

vscode可以编译通过c++项目,但头文件有红色波浪线的问题

1、打开 VSCode 的设置&#xff0c;可以通过快捷键 Ctrl Shift P 打开命令面板&#xff0c;然后搜索并选择 “C/C: Edit Configurations (JSON)” 命令&#xff0c;这将在 .vscode 文件夹中创建或修改 c_cpp_properties.json 文件 {"configurations": [{"name…...

沈阳网站建设21anshan/如何制作网页教程

背景框架是前端面试中的常客。尤其是 React 和 Vue。React 和 Vue 这两个极其优秀的前端类库&#xff0c;基本上占据了前端开发的半壁江山。如果把这两个神仙框架放在一起比较一下&#xff0c; 一定会发现一些比较有意思的知识点。掌握这些知识点&#xff0c; 并灵活运用&#…...

公司做公司网站广告/谷歌网站推广

Spring应用的几种事务处理机制 Java Transaction API和XA协议是Spring常用的分布式事务机制&#xff0c;不过你可以选择选择其他的实现方式。理想的实现取决于你的应用程序使用何种资源&#xff0c;你愿意在性能、安全、系统稳健性、数据完整方面做出何种权衡。在这次JavaWorld…...

免费b2b电子商务网/宁波seo免费优化软件

临时研究了下机器视觉两个基本算法的算法原理 &#xff0c;可能有理解错误的地方&#xff0c;希望发现了告诉我一下 主要是了解思想&#xff0c;就不写具体的计算公式之类的了 &#xff08;一&#xff09; ICP算法&#xff08;Iterative Closest Point迭代最近点&#xff09; I…...

免费高清视频会议软件/关键词搜索优化

说明&#xff1a;在List<T>范型集合中提供了一类委托&#xff0c;以确定要寻找集合中的哪些符合条件的单个元素或者集合msdn里描述如下&#xff1a;Predicate 委托&#xff0c;用于定义要搜索的元素应满足的条件。这一点msdn帮助里面说得很简单&#xff0c;只以List<s…...

构建网站的步骤/百度成都总部

InfluxDB 简介与安装 1、InfluxDB 简介 官网&#xff1a;https://www.influxdata.com/ 中文文档&#xff1a;https://jasper-zhang1.gitbooks.io/influxdb/content/ InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库&#xff0c;无需外部依赖。 类似的数据库有…...

做网站 信科网站建设便宜/成都网站制作费用

关于base64编码Encode和Decode编码的几种方式 Base64是一种能将任意Binary资料用64种字元组合成字串的方法&#xff0c;而这个Binary资料和字串资料彼此之间是可以互相转换的&#xff0c;十分方便。在实际应用上&#xff0c;Base64除了能将Binary资料可视化之外&#xff0c;也…...