目录

5 网络IO性能监控

5.1 性能指标

5.2 网络信息

5.2.1 套接字信息

5.2.2 协议栈统计信息-netstat命令

5.2.3 网络吞吐-sar命令

5.2.4 连通性和延时

5.3 其他常用的网络相关命令

telnet

nc

mtr连通性测试

nslookup

traceroute

iptraf强大的网络监控

tcpdump- 抓包,然后用wireshark分析

nmap

lsof

ethtool


C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂

5 网络IO性能监控

5.1 性能指标

通常用带宽、吞吐量、延时、PPS(Packet Per Second)等指标衡量网络的性能。

1. 带宽,表示链路的最大传输速率,单位通常为 b/s (比特 / 秒)。

2. 吞吐量,表示单位时间内成功传输的数据量,单位通常为 b/s(比特 / 秒)或者 B/s(字节 / 秒)。吞吐量受带宽限制,而吞吐量 / 带宽,也就是该网络的使用率。

3. 延时,表示从网络请求发出后,一直到收到远端响应,所需要的时间延迟。在不同场景中,这一指标可能会有不同含义。比如,它可以表示,建立连接需要的时间(比如 TCP 握手延时),或一个数据包往返所需的时间(比如 RTT)。

4. PPS,是 Packet Per Second(包 / 秒)的缩写,表示以网络包为单位的传输速率。PPS 通常用来评估网络的转发能力,比如硬件交换机,通常可以达到线性转发(即 PPS 可以达到或者接近理论最大值)。而基于 Linux 服务器的转发,则容易受网络包大小的影响。

除了这些指标,网络的可用性(网络能否正常通信)、并发连接数(TCP 连接数量)、丢包率(丢包百分比)、重传率(重新传输的网络包比例)等也是常用的性能指标。

5.2 网络信息

5.2.1 套接字信息

使用netstat 或者 ss ,来查看套接字、网络栈、网络接口以及路由表的信息。

PS:查询网络的连接信息ss比netstat查询速度更快。

# head -n 3 表示只显示前面3行

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u  (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令。

# -l 表示只显示监听套接字

# -t 表示只显示 TCP 套接字

# -n 表示显示数字地址和端口(而不是名字)

# -p 表示显示进程信息

netstat 和 ss 的输出也是类似的,都展示了套接字的状态、接收队列、发送队列、本地地址、远端地址、进程 PID 和进程名称等。其中,接收队列(Recv-Q)和发送队列(Send-Q)需要特别关注,它们通常应该是 0。当你发现它们不是 0 时,说明有网络包的堆积发生。当然还要注意,在不同套接字状态

下,它们的含义不同。

当套接字处于连接状态(Established)时:

Recv-Q 表示套接字缓冲还没有被应用程序取走的字节数(即接收队列长度)。

Send-Q 表示还没有被远端主机确认的字节数(即发送队列长度)。

当套接字处于监听状态(Listening)时:

Recv-Q 表示全连接队列的长度。

Send-Q 表示全连接队列的最大长度。

所谓全连接,是指服务器收到了客户端的 ACK,完成了 TCP 三次握手,然后就会把这个连接挪到全连接队列中。这些全连接中的套接字,还需要被 accept() 系统调用取走,服务器才可以开始真正处理客户端的请求。

与全连接队列相对应的,还有一个半连接队列。所谓半连接是指还没有完成 TCP 三次握手的连接,连接只进行了一半。服务器收到了客户端的 SYN 包后,就会把这个连接放到半连接队列中,然后再向客户端发送 SYN+ACK 包。

5.2.2 协议栈统计信息-netstat命令

使用 netstat 或 ss 查看协议栈的信息

这些协议栈的统计信息都很直观。

ss 只显示已经连接、关闭、孤儿套接字等简要统计,而 netstat 则提供的是更详细的网络协议栈信息。

上面 netstat 的输出示例,就展示了 TCP 协议的主动连接、被

动连接、失败重试、发送和接收的分段数量等各种信息

5.2.3 网络吞吐-sar命令

给 sar 增加 -n 参数就可以查看网络的统计信息,比如网络接口(DEV)、网络接口错误(EDEV)、TCP、UDP、ICMP 等等。执行下面的命令,你就可以得到网络接口统计信息:

输出指标含义

1.rxpck/s 和 txpck/s 分别是接收和发送的 PPS,单位为包 / 秒。

2.rxkB/s 和 txkB/s 分别是接收和发送的吞吐量,单位是 KB/ 秒。

3.rxcmp/s 和 txcmp/s 分别是接收和发送的压缩数据包数,单位是包 / 秒。

4.%ifutil 是网络接口的使用率,即半双工模式下为 (rxkB/s+txkB/s)/Bandwidth,而全双工模式下为max(rxkB/s, txkB/s)/Bandwidth。

从输出中可以看到网卡的读写速度和流量,在应急过程中可以用来判断服务器是否上量。

此命令除了可以用于查看网卡的信息,还可以用来收集如下服务的状态信息。

-A:所有报告的总和。

-u:CPU利用率。

-v:进程、I节点、文件和锁表状态。

-d:硬盘的使用报告。

-r:没有使用的内存页面和硬盘快。

-g:串口I/O的情况。

-b:缓冲区的使用情况。

-a:文件的读写情况。

-c:系统的调用情况。

-R:进程的活动情况。

-y:终端设备的活动情况。

-w:系统的交换活动

5.2.4 连通性和延时

通常使用 ping ,来测试远程主机的连通性和延时

ping

说明

ping命令是用于检测网络故障的常用命令,可以用来钡J试一台主机到另外一台主机的网络是否连通。

语法

ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]

-d 使用Socket的SO_DEBUG功能。

-c<完成次数> 设置完成要求回应的次数。

-f 极限检测。

-i<间隔秒数> 指定收发信息的间隔时间。

-I<网络界面> 使用指定的网络接口送出数据包。

-l<前置载入> 设置在送出要求信息之前,先行发出的数据包。

-n 只输出数值。

-p<范本样式> 设置填满数据包的范本样式。

-q 不显示指令执行过程,开头和结尾的相关信息除外。

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。

-R 记录路由过程。

-s<数据包大小> 设置数据包的大小。

-t<存活数值> 设置存活数值TTL的大小。

-v 详细显示指令的执行过程。

检测和主机是否连通

ping baidu.com

ping指定次数

1. ping目标主机的域名和IP(ping会自动将域名转换为IP)

2. 不带包头的包大小和带包头的包大小(参考“-s”参数)

3. icmp_seq:ping序列,从1开始;如果数字不是按顺序递增也就意味着丢包了ttl:剩余的ttl;见TTL解释time: 响应时间,数值越小,连通速度越快;

4. 发出去的包数,返回的包数,丢包率,耗费时间;

5. 最小/最大/平均响应时间和本机硬件耗费时间;

TTL:每经过一个‘路由点‘,就把预先设定的这个TTL数值减1,直到最后TTL=1时报文就被扔掉,不向下转发。ping显示的TTL是指:被ping主机那里返回的报文,到了你这里,从它自己预设的TTL减小到还剩下多少。

mdev 往返时延

mdev是 Mean Deviation 的缩写, 表示 ICMP包的RTT(Round-Trip Time,往返时延)偏离平均值的程度, 主要用来衡量网速的稳定性。 mdev 的值越大说明 网速越不稳定。 另外,不同的操作系统的mdev的名字也有所不同, 在mac下它叫作 stddev, 而在 Windows 下则根本没有这个统计指标。

RTT参考值

场景

参考值

本机

0.001ms

同机房

0.1ms

同城

1ms

不同城

20ms

中国北方到南方

50ms

国内到国外

200ms

制定ping数据包的大小

默认ping命令的数据包大小是64Bytes,通过-s选项可以制定数据包的大小

范围:1Byte-65507Byte

补充:,如果以最大值去ping服务器,并且以多进程多终端的方式,可能会造成服务器响应迟缓,可以认为是一种网络攻击手段   

TTL 生成时间

TTL(Time to Live) ,即生存时间,指的是数据包被路由器丢弃之前允许通过的路由器的跳数,为了防止数据包在路由器之间无限转发,必须设置一个TTL值,每次路由器转发后都会将这个值减1,直到TTL的值为0,这个数据包的生命就被终结了.

补充:

通过TTL设定值我们可以找到某主机到某主机的最小跳跃次数,即路由转发次数,如下,可以看到我的主机到百度的最小跳至少是11,因为ttl为10是显示跳跃超限,说明数据包在传给百度服务器的路上已经死了

5.3 其他常用的网络相关命令

telnet

telnet是TCP/IP协议族的一员,是网络远程登录服务的标准协议,帮助用户在本地计算机上连接远程主机。

使用方式:telnet IP PORT

和ssh 的区别

端口区别:telnet是23 ssh是22

本质:telnet是明码传输,ssh是加密传输

nc

验证服务器端口有没有开放

nc是NetCat的简称,在网络调试工具中享有“瑞士军刀”的美誉,此命令功能丰富、短小精悍、简单实用,被设计成一款易用的网络工具,可通过TCP/LJDP传输数据。

参数

-l 用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。

-p 暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)

-s 指定发送数据的源IP地址,适用于多网卡机

-u 指定nc使用UDP协议,默认为TCP

-v 输出交互或出错信息,新手调试时尤为有用

-w 超时秒数,后面跟数字

常用示例

nc -l 9999 # 开启一个本地9999的TCP协议端口,由客户端主动发起连接,一旦连接必须由服务端发起关闭

nc -vw 2 114.215.169.66 9999 # 通过nc去访问129.204.197.215主机的11111端口,确认是否存活;可不加参数

nc -ul 9999 # 开启一个本地9999的UDP协议端口,客户端不需要由服务端主动发起关闭

nc 129.204.197.215 9999 < test # 通过129.204.197.215的9999TCP端口发送数据文件

nc -l 9999 > zabbix.file # 开启一个本地9999的TCP端口,用来接收文件内容

# 测试网速

A机器操作如下:

nc -l 9999 > /dev/null

# B机器开启数据传输

nc 129.204.197.215 9999 </dev/zero

# A机器进行网络监控

sar -n DEV 2 100000

在不熟悉公司的防火墙设置时,也可以通过监听端口来确定指定的端口是否被封。

mtr连通性测试

mtr命令是Linux系统中的网络连通性测试工具,也可以用来检测丢包率。

使用方式:mtr baidu.com

其中的第2列为丢包率,可以用来判断网络中两台机器的连通质量。

模拟丢包:sudo tc qdisc add dev eth0 root netem loss 10%

云服务器选点:声网做音视频通话 节点选取测试

nslookup

这是一款检测网络中DNS服务器能否正确解析域名的工具命令,并且可以输出。

使用方式: nslookup sina.com

从输出中可以看到,sina.com域名被正确解析到IP地址66.102.251.33

traceroute

traceroute可以提供从用户的主机到互联网另一端的主机的路径,虽然每次数据包由同一出发点到达同一目的地的路径可能会不一样,但通常来说大多数情况下路径是相同的。

使用方式:traceroute sina.com

在输出中记录按序列号从1开始,每个记录代表网络一跳,每跳一次表示经过一个网关或者路由;我们看到每行有三个个时间,单位是毫秒,指的是这一跳需要的时间。

iptraf强大的网络监控

iptraf是一个实时监控网络流量的交互式的彩色文本屏幕界面。它监控的数据比较全面,可以输出TCP连接、网络接口、协议、端口、网络包大小等信息,但是耗费的系统资源比较多,且需要管理员权限。

使用方式:sudo iptraf

在进入主界面之前可以选择不同的选项,在不同的选项下可以查看不同维度的网络信息。

tcpdump- 抓包,然后用wireshark分析

tcpdump是网络状况分析和跟踪工具,是可以用来抓包的实用命令,使用前需要对TCP/IP有所熟悉,因为过滤使用的信息都是TCP/IP格式。

Ubuntu安装:sudo apt-get install tcpdump

捕获及停止条件

n -D 列举所有网卡设备

n -i 选择网卡设备

n -c 抓取多少条报文

n --time-stamp-precision 指定捕获时的时间精度,默认微妙micro,可选纳秒nano

n -s 指定每条报文的最大字节数,默认262144字节

练习:

tcpdump 抓取各种报文

tcpdump -D 显示网卡设备

tcpdump -i eth0 抓取eth0的报文

tcpdump -i lo 抓取回环报文

tcpdump -i eth0 -c 2 抓取2条报文后退出

tcpdump -i eth0 -c 2 --time-stamp-precision=nano 默认按纳秒

telnet 127.0.0.1 80 可以通过telnet 上去测试抓包,此时应用抓取lo

表达式

原语:名称或数字,以及描述它的多个限定词组成

限定词:

Type:设置数字或者名称所指示类型,例如host www.baidu.com

Dir:设置网络出入方向,例如dst port 80

Proto: 指定协议类型,例如udp

原语运算:

与:&&或者and

或:||或者or

非:!或者not

例如:src or dst portrange 6000-8000 && tcp

练习:

tcpdump -i eth0 -c 10 host www.0voice.com and port 80

同时在另一个终端curl www.0voice.com

限定词

Type:设置数字或者名称所指示类型

host、port

net, 设定子网, net 192.168.0.0 mask 等价于net 192.168.0.0/24

portrange,设置端口范围,例如portrange 6000-8000

Dir:设置网络出入方向

src、dst、src or dst、src and dst

ra、ta、addr1、addr2、addr3、addr4(仅对IEEE 802.11 Wireless Lan有效)Proto**:指定协议类型**

ethr、fddi、tr、wlan、ip、ip6、arp、tcp、udp等

文件操作

-w 输出结果至文件

-C 限制输入文件的大小,超出以后缀1等数字的方式递增。注意单位是1,000,000字节

-W 指定输出文件的最大数量,到达后重新复写第一个文件

-G 指定每个N秒就重新输出至新文件,注意-w参数应基于strftime参数指定文件名

-r 读取一个抓包文件

-V 将待读取的多个文件名写入一个文件中,通过读取该文件同时读取多个文件

练习:

tcpdump -c 2 -w a 保存2个包到a文件

tcpdump -r a 读取a文件显示

tcpdump -c 2 -w b 保存2个包到b文件

strftime参考:

%a 星期几的简写

%A 星期几的全称

%b 月分的简写

%B 月份的全称

%c 标准的日期的时间串

%C 年份的后两位数字%d 十进制表示的每月的第几天

%D 月/天/年

%e 在两字符域中,十进制表示的每月的第几天

%F 年-月-日

%g 年份的后两位数字,使用基于周的年

%G 年分,使用基于周的年

%h 简写的月份名

%H 24小时制的小时

%I 12小时制的小时

%j 十进制表示的每年的第几天

%m 十进制表示的月份

%M 十时制表示的分钟数

%n 新行符

%p 本地的AM或PM的等价显示

%r 12小时的时间

%R 显示小时和分钟:hh:mm

%S 十进制的秒数

%t 水平制表符

%T 显示时分秒:hh:mm:ss

%u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)

%U 第年的第几周,把星期日做为第一天(值从0到53)

%V 每年的第几周,使用基于周的年

%w 十进制表示的星期几(值从0到6,星期天为0)

%W 每年的第几周,把星期一做为第一天(值从0到53)

%x 标准的日期串

%X 标准的时间串

%y 不带世纪的十进制年份(值从0到99)

%Y 带世纪部分的十进制年份

%z,%Z 时区名称,如果不能得到时区名称则返回空字符。

%% 百分号

输出时间格式

-t 不显示时间戳

-tt 自1970年1月1日0点至今的秒数

-ttt 显示邻近两行报文间经过的秒数-tttt 带日期的完整时间

-ttttt 自第一个抓取的报文起经历的秒数

练习

sudo tcpdump -c 5 -t

sudo tcpdump -c 5 -tt

sudo tcpdump -c 5 -ttt

sudo tcpdump -c 5 -tttt

sudo tcpdump -c 5 -ttttt

分析信息详情

-e 显示数据链路层头部

-q 不显示传输层信息

-v 显示网络层头部更多的信息,如TTL、id等

-n 显示IP地址、数字端口代替hostname等

-S TCP信息以绝对序列号代替相对序列号

-A 以ASCII方式显示报文内容,适用HTTP分析

-x 以16进制方式显示报文内容,不显示数据链路层

-xx 以16进制方式显示报文内容,显示数据链路层

-X 同时以16进制及ASCII方式显示报文内容,不显示数据链路层

-XX 同时以16进制及ASCII方式显示报文内容,显示数据链路层

练习

sudo tcpdump -r a -e

sudo tcpdump -r a -q

sudo tcpdump -r a -v

sudo tcpdump -r a -n

sudo tcpdump -r a -S

sudo tcpdump -r a -A

sudo tcpdump -r a -x

sudo tcpdump -r a -xx

sudo tcpdump -r a -X

sudo tcpdump -r a -XX

其他练习:

显示来源IP或者目的IP为192.168.1.102的网络通信:

sudo tcpdump -i eth0 host 192.168.1.102

显示去往102.168.1.102的所有会话信息:

tcpdump -i eth1 'dst 192.168.1.102 and (port 21 or 20)'

显示去往102.168.1.102的所有会话信息:

tcpdump -i eth0 'dst 192.168.1.102 and tcp and port 8080'

nmap

扫描某一主机打开的端口及端口提供的服务信息,通常用于查看本机有哪些端口对外提供服务,或者服务器有哪些端口对外开放。

使用方式:nmap -v -A localhost

比如我云服务器检测的结果:

nmap localhost #查看主机当前开放的端口

nmap -p 1024-65535 localhost #查看主机端口(1024-65535)中开放的端口

nmap -PS 192.168.56.101 #探测目标主机开放的端口

nmap -PS 22,80,3306 192.168.56.101 #探测所列出的目标主机端口

nmap -O 192.168.56.101 #探测目标主机操作系统类型

nmap -A 192.168.56.101 #探测目标主机操作系统类型

lsof

lsof是系统管理/安全的尤伯工具。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。

查看帮助文档: lsof -h

你可以使用它来获得你系统上设备的信息,你能通过它了解到指定的用户在指定的地点正在碰什么东西,或者甚至是一个进程正在使用什么文件或网络连接。具体可以使用man lsof查看帮助文档。

关键选项

默认 : 没有选项,lsof列出活跃进程的所有打开文件

组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数

-a : 结果进行“与”运算(而不是“或”)

-l : 在输出显示用户ID而不是用户名

-h : 获得帮助

-t : 仅获取进程ID

-U : 获取UNIX套接口地址

-F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令

名、文件描述符、文件名,并以空终止)

lsof -i:9999

ethtool

虚拟机不要设置成静态的ip

ethtool用于查看网卡的配置情况。

sudo apt install ethtool

命令使用格式:ethtool [option] interface

查看网卡:ethtool ens33 # PS在云主机检测不到网卡信息

范例

(1)查看网卡的接口信息

ethtool eth1 #查看网络接口eth1的信息

(2)关闭网卡eth1的自动协商

ethtool -s eth1 autoneg off

(3)修改网卡速率为 100Mb/s

ethtool -s eth4 speed 100

(4)查看网卡驱动信息

ethtool -i eth0

(5)查看网卡的一些工作统计信息

ethtool –S eth0

(6)停止和查看网卡的发送模块TX的状态

ethtool -A tx off eth0 #修改tx的状态

ethtool -a eth0 #查看tx的状态

(7)关闭网卡对收到的数据包的校验功能

ethtool -K rx off eth0 #关闭校验

ethtool –k eth0 #查看校验启动状态

获取网络信息

显示端口被某个程序占用

lsof -i:port

lsof -p 12 看进程号为12的进程打开了哪些文件

lsof -c abc 显示abc进程现在打开的文件,可以使用less进行分页,b 向后翻一页,d 向后翻半页

Linux系统运行时参数命令--网络IO性能监控相关推荐

  1. Linux系统运行时参数命令--Linux基础命令和工具

    目录 1 Linux基础命令和工具 1.1 grep搜索字符 1.2 find查找文件 1.3 ls显示文件 1.4 wc命令 1.5 ulimit用户资源 1.6 scp远程拷贝 1.7 dos2u ...

  2. Linux系统运行时参数命令

    文章目录 前言 一.Linux基础命令和工具 grep命令搜索字符 find命令查找文件 ls命令显示文件 wc命令计算字数 ulimit用户资源 curl http scp远程拷贝 dos2unix ...

  3. linux系统运行级别wq命令,Linux系统运行级别和关机重启命令介绍

    Linux系统运行级别介绍 Linux系统有七种运行级别(Run Level),各个运行级别下,系统有不同的状态,各个级别的意义描述如下. 0:关键级别 1:单用户运行级别,运行rc.sysinit和 ...

  4. linux 系统运行状况 shell命令 watch 监控进程是否存在

       1.  Linux的实时监测命令(watch):     watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行.该命令最为常用的两个选项是-d和-n,其 ...

  5. Linux命令进阶-cpu监控内存监控文件IO网络IO性能分析

    Linux命令进阶-cpu监控内存监控文件IO网络IO性能分析 前言 1 linux基础命令 1.1 grep 1.2 ls 1.3 find 1.4 ulimit 1.5 curl 1.6 scp ...

  6. linux系统cpu文件,Linux_学堂:当前Linux系统运行的各种参数, 1、CPU   在文件“/proc/ - phpStudy...

    学堂:当前Linux系统运行的各种参数 1.CPU 在文件"/proc/stat"里面就包含了CPU的信息.每一个CPU的每一tick用在什么地方都在这个文件里面记着.后面的数字含 ...

  7. 在Intel处理器上,修改mitigations参数使Linux系统运行得更快

    您可能听说过影响了许多现代处理器,包括英特尔,AMD,System Z,Power和ARM的某些处理器.幸运的是,内核开发人员已经发布了安全补丁来解决Meltdown/Spectre问题,在最新的内核 ...

  8. Linux系统上利用nmcli命令创建网络组

    网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现. 下面我们以CentOS7系统为环 ...

  9. Linux深入浅出--3.vi和vim的使用及关机重启命令及用户管理、添加查询切换用户、用户组的操作及Linux系统运行级别及找回root密码

    目录 一.vi和vim 1.vi和vim的基本介绍 2.vi和vim常用的三种模式 vim使用简单入门 3.三种模式转换结构图 4.vi和vim的快捷键使用 二.关机&重启命令 三.用户管理 ...

最新文章

  1. Python3学习笔记----环境安装及文本编辑器的选择
  2. String,StringBuffer,StringBuilder的区别
  3. Selenium - CSS Selector
  4. leetcode1082. 销售分析 I (SQL)
  5. ionic3-android打包完美解决
  6. mysql5.7.20 sql mode_MySQL5.7中的sql_mode默认值带来的坑及解决方法
  7. 错误处理和调试2 - C++快速入门31
  8. GIT插件EGIT使用手册
  9. ddr3配置 dsp6678_简简单单学TI 多核DSP(2):TMS320C6678的时钟配置
  10. idea控制台搜索功能
  11. 20本父母必读的亲子教育书籍
  12. MTK FAQ最新资料,MTK_on_line_FAQ_SW_ALPS_Framework+-+Battery
  13. PHP-SDK实现微信付款码支付
  14. QQ客户端源代码发布
  15. python爬虫学习笔记(三)——淘宝商品比价实战(爬取成功)
  16. 2022-2027年中国香薰蜡烛行业市场调研及未来发展趋势预测报告
  17. 网页设计(四)——DIV+CSS布局3
  18. 马斯克认怂重启推特收购,价格还是440亿美元,推特股价应声大涨
  19. Python爬虫笔记——解决python 写入文件中文乱码问题
  20. 【优化求解】基于缎蓝园丁鸟优化算法 (SBO)求解单目标问题附matlab代码

热门文章

  1. python外星人入侵小游戏
  2. 日语中动物的叫声是怎样的-狗子怎么叫的
  3. 中科蓝汛------DUT模式的使用与五击检测
  4. 【中学教师资格】【综合素质】2022年上半年笔试真题及答案
  5. 中文汉字和常见英文数字等的unicode编码范围
  6. 未来30年,对世界发展影响很大的4大科技趋势,你知道吗?
  7. 仿蚂蚁金服AntV框架蚂蚁数据可视化F2 基金折线图、对比图(包含买卖点、自定义标签等,注释详尽)
  8. UiPath的下载安装与基本使用
  9. 2022-2028年全球与中国零售会计软件行业发展趋势及竞争策略研究
  10. 【洛谷】【博弈搜索】P4363 [九省联考2018]一双木棋chess