tcpdump抓包 wireShark

TCPdump抓包工具介绍

TCPdump,全称dump the traffic on anetwork,是一个运行在linux平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具。

tcpdump可以支持的功能:

1、在Linux平台将网络中传输的数据包全部捕获过来进行分析
2、支持网络层、传输层协议等协议捕获过滤
3、数据发送和接收的主机、网卡和端口等各种过滤捕获数据规则
4、提供and、or、not等语句进行逻辑组合捕获数据包或去掉不用的信息
5、结合wireshark工具分析捕获的报文

要灵活使用 tcpdump 工具必须要有两个必备的知识基础:
第一、Linux 操作系统:
    因为这是一款基于 Linux 系统下命令行的抓包工具,所以需要对 Linux 的基本操作和常用命令有一定的基础;
第二、网络知识:
    因为 tcpdump 是将网络中传送的数据包完整的截获下来然后进行分析,所以想要分析捕获到的报文,需要了解 OSI 七层网络模型,以及常用网络协议等。

TCPdump抓包工具使用环境和初体验

默认输入 tcpdump 这个命令,回车操作之后,它将监视第一个网络接口上所有流过的数据包,一般是eth0,如下图所示
在这里插入图片描述
20:44:54.485275 IP 115.205.231.25.54845 > iZj6cac8jcykj0pe92w66iZ.ssh: Flags [.], ack 46944, win 510, options [nop,nop,TS val 671165587 ecr 471333], length 0

20:44:54.485301 IP iZj6cac8jcykj0pe92w66iZ.ssh > 115.205.231.25.54845: Flags [P.], seq 59304:59516, ack 1, win 259, options [nop,nop,TS val 471428 ecr 671165587], length 212

以上输出的信息来看,可以总结出:
第一列:时分秒 20:33:22.957272
第二列:网络协议ip
第三列:发送方的ip地址+端口号,115.205.231.25是ip,而54845的端口号 / iZj6cac8jcykj0pe92w66iZ是主机, ssh是协议 表示端口号 22
第四列:箭头 > , 表示数据流向
第五列:接收方的ip地址+端口号,接收方是本机,所以翻译成了iZj6cac8jcykj0pe92w66iZ
第六列:数据包内容,包括Flags 标识符,seg 号,ack号,win 窗口,数据长度 length,其中 [P.]表示 PUSH 标志位为1,更多标识符需要了解TCP协议的标志位。

TCP协议

TCP(Transmission Control Protocol)传输控制协议,顾名思义,就是要对数据的传输进行一定的控制。
在这里插入图片描述
SYN:连接请求或者接受连接请求
FIN:连接结束,断开链接
RST:重置链接
ACK:确认标记位
PSH:催促标志位,将接受缓冲区内数据向上交付给应用程序,而不是等待缓冲区满后再交付。
URG:紧急标志位,将紧急数据排在普通数据的前面;
序号:每个数据包都对应着一个序列号
确认号:每发送一个数据包都需要收到对应的确认包,确认号=序号+1
窗口:滑动窗口 ------ 可靠性+提高报文发送效率

[S] : SYN(开始连接)
[P] : PSH(推送数据)
[F] : FIN(结束连接)
[R] : RST(重置连接)
[.] : 没有Flag(意思是除上面四种类型外的其他情况,有可能是ACK也有可能是URG)

TCPdump抓包工具常规过滤

基于IP地址进行过滤: host

案例1: 截获特定主机-220.181.38.148的主机收到的和发出的所有的数据包

tcpdump host 220.181.38.148
解释:host 220.181.38.148,指明 220.181.38.148 是一台主机,如果你非常明确关心的是哪个主机的收发报文,那么就可以直接过滤这个主机的数据包。host后面加主机的IP地址,就可以只抓取这个主机的所有数据包,其他主机的数据包就会被过滤掉。
在这里插入图片描述

案例2:获取目的地址是220.181.38.148 的报文
tcpdump dst 220.181.38.148
解释:dst 指的是目的地址;这个是确定传输方向的关键字,src源;dst 目的

src 是获得原地址的请求报文
dst是获得目标地址的请求报文
在这里插入图片描述
**基于IP地址进行过滤: port **

案例3:获取特定端口-比如http的包,使用如下命令:
tcpdump tcp port 80
解释:port 80 指明端口80,只会抓取这个80端口的数据包;加上具体某个协议的某个端口,就可以更加精确的捕获对应的业务的数据报文了。如上,就会只抓取 TCP 协议的 80 端口的数据报,也就是 http 协议的数据报文。

tcpdump src port 80/tcpdump dst port 80
在这里插入图片描述

如果你想要同时指定两个端口你可以这样写:tcpdump port 80 or port 22、tcpdump port 80 or 22 ;
在这里插入图片描述

如果你的想抓取的不再是一两个端口,而是一个范围,一个一个指定就非常麻烦了,此时你可以这样指定一个端口段。
tcpdump portrange 8000-8080
tcpdump src portrange 8000-8080
tcpdump dst portrange 8000-8080
在这里插入图片描述

对于一些常见协议的默认端口,我们还可以直接使用协议名,而不用具体的端口号:比如 http =80,https = 443 等
tcpdump tcp port http
在这里插入图片描述

基于协议进行过滤:protocal
案例4:获取ICMP协议的报文
tcpdump icmp
解释:标明要抓取的协议报文,一般常用的比如ip ,ip6 ,arp,icmp,tcp,udp
在这里插入图片描述

注意:http,dns,https,ssh 等这些应用层的协议,不能直接这样写,想要写成:
tcpdump port http
或者 tcpdump port 53 (DNS的端口号是53)

tcpdump的常用参数

tcpdump -h ——查看所有参数
在这里插入图片描述

-i # 指定监听网络接口
tcpdump -i eth0
默认监听在第一块网卡上,监听所有经过此网卡通过的数据包;但是我们可能关心的数据并不是 eth0 的接口,这时就需要指定端口进行数据包的捕获。
在这里插入图片描述

在 tcpdump 后面加一个 -i的参数,后面跟具体需要捕获的接口名称,就可以抓取经过这个具体接口的所有数据包。tcpdump -i any 监听所有的网卡接口、用来查看是否有网络流量
在这里插入图片描述

-w #将捕获到的信息保存到文件中,且不分析和打印在屏幕
tcpdump -i eth0 -w tt
报文打印在shel里会太多且不方便查看,我们可以保存成文件;然后通过xftp导出到本地,可以详细查看
在这里插入图片描述

扩展:导出的文件可以设置为cap或者pcap格式,可以直接用wireshark工具打开;
可以用wireshark工具分析报文具体信息!

-r # 从文件中读取数据,读取后,照样可以使用上述的过滤器语法进行过滤分析。
tcpdump -r tt.pcap

-n: 不把ip转化成域名,直接显示ip,避免执行DNS lookups的过程,速度会快很多
在这里插入图片描述

-nn : 不把协议和端口号转化成名字,速度也会快很多。
在这里插入图片描述

-N : 不打印出host的域名部分,比如,如果设置了此选项,tcpdump将会打印’nic’ 而不是’nic.ddn.mil’ 。
在这里插入图片描述
-t :在每行的输出中不输出时间
在这里插入图片描述

-tt : 在每行的输出中会输出时间戳
在这里插入图片描述

-ttt: 输出每两行打印的时间间隔(以毫秒为单位)
在这里插入图片描述

-tttt:在每行打印的时间戳之前添加日期的打印(此种选项,输出的时间最直观)

在这里插入图片描述

-v:产生详细的输出.比如包的TTL,id标识,数据包长度,以及IP包的一些选项。同时它还会打开些附加的包完整性检测,比如对IP或ICMP包头部的校验和。
在这里插入图片描述

-vv:产生比-v更详细的输出.比如NFS回应包中的附加域将会被打印,SMB数据包也会被完全解码。

-vv:产生比-vv更详细的输出。比如 telent 时所使用的SB,SE选项将会被打印,如果telnet同时使用的是图形界面,其相应的图形选项将会以16进制的方式打印出来

-c #指定收取数据包的次数,即在收到指定数量的数据包后退出tcpdump,停止抓包
tcpdump -c 20 -w tt.pcap
解释:抓满20个报文之后,就停止tcpdump抓包。
在这里插入图片描述
-C #与 -w FILE 选项配合使用。该选项使得 tcpdump 在把原始数据包直接保存到文件中之前,检查此文件大小是否超过 file-size。如果超过了,将关闭此文件,另创一个文件继续保存原始数据包。新创建的文件名与 -w 选项指定的文件名一致,但文件名后多了一个数字,该数字会从1开始随着新创建文件的增
多而增加。file-size的单位是百万字节(这里指1,000,000个字节,并非1,048,576个字节)

tcpdump -C 1 -W 3 -w abc 指定一个单位后(1MB)就换文件,最多写3个文件,名字是abc0,abc1.abc2

在这里插入图片描述
在这里插入图片描述
选择是入方向还是出方向的数据包,可选项有:in,也可以使用–direction=[direction]
tcpdump -Q in
tcpdump -Q out
tcpdump -Q inout

在这里插入图片描述
在这里插入图片描述
-q:简洁地打印输出。即打印很少的协议相关信息,从而输出行都比较简短.
在这里插入图片描述

-D:显示所有可用网络接口的列表
在这里插入图片描述

-L: 列出网络接口的已知数据链路。
在这里插入图片描述
7、 -s #指定每个包捕获的长度、单位是 byte,而不是默认的262144bytes;
如果超过了设定的大小限制,包就会被阶段,而在打印行出现[|proto]这种标识,这个proto就是被截断的报文的协议名字。但是抓取len越长,包的处理时间越长,并且会减少tcpdump可缓存的数据包的数量,从而会导致数据包的丢失,所以在能抓取我们想要的包的前提下,抓取长度越小越好(-s0使用默认长度262144)。
在这里插入图片描述

注意:不同的tcpdump版本,这个默认抓取的报文的长度不一样
在这里插入图片描述
帮助文档的指令 : man tcpdump

8、 -A : #以ASCII 格式打印出所有的分组并且读取此文件,这样可以使读取更加简单,方便使用 grep 等工具解析输出内容

--- tcpdump -A -r tt2

--- tcpdump -A | grep baidu
在这里插入图片描述
在这里插入图片描述

-X表示同时使用十六进制和 ASCII 字符串打印报文的全部数据。这-X和-A两个参数不能一起使用
--- tcpdump -X -r tt2

9、-e #在输出行打印出数据链路层的头部信息。默认情况下 tcpdump 不会显示数据链路层信息,使用 -e选项可以显示源和目的 MAC 地址,以及 VLAN tag 信息。例如:
--- tcpdump -e -r tt2

10、-F指定使用哪个文件的过滤表达式抓包。此时命令行上的输入规则将被忽略
tcpdump -F filter_rule -c 10
这种情况适用于将表达式放置在文件中长期维护

11、-l #对标准输出进行行缓冲,在需要同时观察抓包打印以及保存抓包记录的时候很有用。比如,可通过以下命令组合来达到此抓包时保存到文件的同时查看包的内容。
-- tcpdump -l | tee dat
dat是文件的名字

这命令是使用tee来把tcpdump 的输出同时放到文件dat和标准输出中
tee 功能说明:读取标准输入的数据,并将其内容输出成文件
-- tcpdump -l > dat & tail -f dat
这个命令是通过重定向操作 ‘>’ 把数据写入对应的文件中

逻辑运算

逻辑运算符:and or not
and:所有的条件都需要满足,也可以表示为 &&
or:只要有一个条件满足就可以,也可以表示为
not:取反,也可以使用!

and例子:抓一个来自100.100.30.26主机,80端口的包 – tcpdump src 100.100.30.26 and port 80

or例子:抓取UDP 53端口或者TCP 53端口的包(DNS协议的报文) – tcpdump tcp port 53 or udp port 53

not例子:抓取不是22端口的报文 – tcpdump not tcp port 22

多个过滤器进行组合:需要用到括号,而括号在 shell 中是特殊符号,因为需要使用引号将其包含: --and 优先级高于 or
tcpdump “src 10.0.2.4 and (dst port 3389 or 22)"

实际案例 :监听主机192.168.56.1和192.168.56.210之间ip协议的80端口的且排除www.baidu.com通信的所有数据包:
tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host ! www.baidu.com
tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host not www.baidu.com
即not和!都是相同的取反的意思

高级过滤

1、基于包大小进行过滤:查看指定大小的数据包
案例:抓取包大小小于32bytes的数据包
tcpdump less 32
案例:抓取包大小大于100bytes的数据包
tcpdump greater 300

tcpdump 总结图

在这里插入图片描述

WireShark

按IP地址过滤

想看源ip为xxx的包

ip.src==192.168.40.1
在这里插入图片描述

想看目标ip为xx的包

ip.dst==239.255.255.250
在这里插入图片描述

想看源或目标ip为xx的包

ip.addr==192.168.18.128
在这里插入图片描述

按MAC地址过滤

想看源MAC为xx的包

eth.src==76-6C-80-82-D7-13

想看目标MAC为xx的包

eth.dst==76-6C-80-82-D7-13

想看源或目标MAC为xx的包

eth.addr==76-6C-80-82-D7-13

按端口号过滤

过滤tcp端口为4694的包

tcp.port==4694

过滤源端口为4694的包

tcp.srcport==4694

过滤目标端口为4694的包

tcp.dstport==4694

按协议类型过滤

常见的协议
arp
dhcp
https

规则组合

and

查看dhcp,tcp 包,并且只想查看某台电脑的dhcp包和tcp包
tcp and dhcp and eth.addr ==76-6C-80-82-D7-13

在这里插入图片描述
tcp and dhcp
在这里插入图片描述

or

查看dhcp 或者 arp
在这里插入图片描述

tcp or dhcp
在这里插入图片描述

通过icmp报文排查网络故障

icmp 测试网络连通性
通,告知延迟

不通,告知原因,用icmp包里的type +code ,两个数字的组合,代表故障原因

常见的错误及原因

1.没配网关     传输失败,常见故障
2.配了网关,但是找不到网关。    来自本机(可能是主机的IP地址)的回复,无法访问目标主机     自己发arp寻找网关mac,失败
3.配了网关,也能找到网关。     来自网关的回复,无法访问目标网络。    网络设备缺少路由
4.配了网关,也能找到网关,网关也有目标路由。但是后面的设备缺路由。
4.1 后面的设备,有回包的路由,没有目的地的路由。     报错:来自缺路由的设备,无法访问目标网络。
4.2 后面的设备,没有回包的路由,没有目的地的路由。     超时

B机器 ping A 机器
A机器 ping B机器

数据包都是有去有回,如果不通那就是防火墙的问题
不通的那个机器 将 防火墙 禁ping了

windows防火墙特性
出站连接,默认放行
入站连接,默认禁止。需要允许通,防火墙要设置放行

icmp协议

Internet控制消息协议ICMP(Internet Control Message Protocol)是IP协议的辅助协议

ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。

在这里插入图片描述

ICMP报文

在这里插入图片描述

icmp 中 Type+Code的请求含义

TypeCode描述
00Echo Reply(请求的响应)
30网络不可达
31主机不可达
32协议不可达
33端口不可达
50重定向
80Echo Request(请求)
110TTL值没了,丢包了

8+0 Echo Request(请求)
在这里插入图片描述
0+0 Echo Reply(请求的响应)
在这里插入图片描述
3+0 网络不可达
缺路由(路由没配)
在这里插入图片描述
3+1 主机不可达
不缺路由,缺arp (根据路由表里的直连路由查询arp,没查到对应的mac)
在这里插入图片描述
3 + 3 端口不可达
传输层端口, 目标主机,没开放相关的端口
(33440端口没开)
在这里插入图片描述
3+2协议不可达
在这里插入图片描述

协议号和端口号的区别?
协议号:ip头部里的字段,标识这个数据包是tcp(6),还是udp(17),还是icmp(1),还是gre(50),还是ospf(89)还是vrrp(112‌)

端口号:tcp,udp头部里的字段,标识这个数据包是http(80),还是dns(53),还是ftp(21),tftp( 69),smtp(25)

什么是gre?
两台路由器,想建立gre的 联系
路由器A配置好了             路由器B没配置
A寻找B,建立gre连接     B回一个消息,协议不可达

DNS的协议号和端口号
在这里插入图片描述

HTTP的协议号和端口号

在这里插入图片描述

在这里插入图片描述

11+0 TTL没了,丢包了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常见的网络协议工作过程

DNS

提供了主机名字和IP地址之间的相互转换
DNS系统的模式
采用客户端/服务器模式

在这里插入图片描述

FTP

FTP协·议是互联网上广泛使用的文件传输协议
客户端/服务端模式,基于TCP
FTP采用双TCP连接方式

TFTP

TFTP(简单文件传输协议)也是采用客户机/服务器模式的文件传输协议
TFTP适用于客户端和服务器之间不需要复杂交互的环境
TFTP承载在UDP之上,端口号69
TFTP仅提供简单的文件传输功能(上传、下载)
TFTP没有存取授权与认证机制,不提供目录列表功能
TFTP协议传输是由客户端发起的

Telnet

远程管理网络设备
测试端口可达性

利用Wireshark 获取用户密码

客户端登录网页,抓取请求
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/477549.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

已阻止加载“http://localhost:8086/xxx.js”的模块,它使用了不允许的 MIME 类型 (“text/plain”)。

记录今天解决的一个小bug 在终端启动8080端口号监听后,打开网址http://localhost:8080,发现不能正确加载页面,打开检查-控制台,出现如下警告:已阻止加载“http://localhost:8086/xxx.js”的模块,它使用了不…

使用 helm 部署 gitlab

一、下载 Gitlab chart 进入 artifacthub 官网 选择你想要的版本(我选择的chart版本是 8.4.0 , gitlab 版本是17.4.0 ) 进入到控制台,添加helm仓库 如果你想不改任何配置,你可以执行安装命令,等待安装即可helm instal…

若依-一个请求中返回多个表的信息

背景 主表是点位表关联子表 需要知道对应 合作商的信息关联子表 需要直到对应 区域的信息关联子表 需要直到对应 设备数量 实现的方案 关联实体相关的标签

C++注释

目录 1. 什么是注释 2. 语法 2.1 单行注释 2.2 多行注释 2.3 示例 3. 注释源代码的方法 3.1 使用多行注释 3.2 使用预处理器指令 #if #endif 3.3 使用条件判断语句 if (false) 4. 不能用宏定义,组成注释 5 // \ 会将源代码中的下一行也被当作注释中的一部…

使用itextpdf进行pdf模版填充中文文本时部分字不显示问题

在网上找了很多种办法 都解决不了; 最后发现是文本域字体设置出了问题; 在这不展示其他的代码 只展示重要代码; 1 引入扩展包 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</v…

web——sqliabs靶场——第十三关——报错注入+布尔盲注

发现是单引号加括号闭合的 尝试联合注入 发现不太行&#xff0c;那尝试报错注入。 测试报错注入 unameadmin) and updatexml(1,0x7e,3) -- &passwdadmin&submitSubmit 爆数据库 unameadmin) and updatexml(1,concat(0x7e,database(),0x7e),3) -- &passwdadmin&a…

QT如何共享文件+拷贝文件

QString sharedFolderPathImg "\\\\" IP "/profileImage/"; // 更换为你的共享文件夹路径QDir dirImg(sharedFolderPathImg);dirImg.setFilter(QDir::NoDotAndDotDot | QDir::AllEntries);QVector<QString> curFileEntryArrayImg dirImg.entryList…

跟《经济学人》学英文:2024年11月23日这期 Why British MPs should vote for assisted dying

Why British MPs should vote for assisted dying A long-awaited liberal reform is in jeopardy in jeopardy&#xff1a;在危险中 jeopardy&#xff1a;美 [ˈdʒepərdi] 危险&#xff1b;危机&#xff1b;风险&#xff1b; 原文&#xff1a; THIS NEWSPAPER believes …

【es6进阶】vue3中的数据劫持的最新实现方案的proxy的详解

vuejs中实现数据的劫持,v2中使用的是Object.defineProperty()来实现的&#xff0c;在大版本v3中彻底重写了这部分&#xff0c;使用了proxy这个数据代理的方式&#xff0c;来修复了v2中对数组和对象的劫持的遗留问题。 proxy是什么 Proxy 用于修改某些操作的默认行为&#xff0…

D73【 python 接口自动化学习】- python 基础之正则表达式

day73 正则表达式-元字符匹配 学习日期&#xff1a;20241119 学习目标&#xff1a;正则表达式--133 正则表达式-元字符匹配 学习笔记&#xff1a; 元字符匹配 数量匹配 实践操作 总结 字符串的r标记表示&#xff0c;字符串内转移字符无效&#xff0c;作为普通字符使用正则…

Python浪漫之画明亮的月亮

目录 1、效果展示 2、完整版代码 1、效果展示 2、完整版代码 import turtledef draw_moon():# 设置画布turtle.bgcolor("black") # 背景颜色为黑色turtle.speed(10) # 设置绘制速度# 绘制月亮的外圈turtle.penup()turtle.goto(0, -100) # 移动到起始…

微信小程序包之加农炮游戏

微信小程序 - 气球射击游戏 项目简介 这是一个简单有趣的微信小程序射击游戏。玩家通过控制屏幕底部的加农炮&#xff0c;射击从上方降落的蓝色气球。游戏考验玩家的反应能力和瞄准技巧。 游戏规则 点击屏幕任意位置发射炮弹大炮会自动对准点击位置击中气球获得10分如果气球触…

autogen+ollama+litellm实现本地部署多代理智能体

autogen 是一个专门为大语言模型 (LLMs) 驱动的自治代理 (autonomous agents) 设计的 Python 库,由 Microsoft 开发和维护。它通过高度模块化和可扩展的架构,支持用户快速构建和运行多代理系统,这些代理可以在没有明确人类干预的情况下协作完成复杂任务。AutoGen 支持以最少…

分公司如何纳税

分公司不进行纳税由总公司汇总纳税“子公司具有法人资格&#xff0c;依法独立承担民事责任;分公司不具有法人资格&#xff0c;其民事责任由公司承担。”企业设立分支机构&#xff0c;使其不具有法人资格&#xff0c;且不实行独立核算&#xff0c;则可由总公司汇总缴纳企业所得税…

HashMap源码详解

提醒你一下&#xff0c;用电脑或者平板看&#xff0c;手机屏幕小&#xff0c;图片会看不清楚&#xff0c;源码不方便看 基础前置 看该篇文章之前先看看这篇基础文章 HashMap底层原理-CSDN博客 先来看HashMap里面的一些参数。 1.DEFAULT_INITIAL_CAPACITY 默认的数组初…

09 —— Webpack搭建开发环境

搭建开发环境 —— 使用webpack-dev-server 启动Web服务&#xff0c;自动检测代码变化&#xff0c;有变化后会自动重新打包&#xff0c;热更新到网页&#xff08;代码变化后&#xff0c;直接替换变化的代码&#xff0c;自动更新网页&#xff0c;不用手动刷新网页&#xff09; …

动态反馈控制器(DFC)和 服务率控制器(SRC);服务率和到达率简单理解

目录 服务率和到达率简单理解 服务率 到达率 排队论中的应用 论文解析:队列等待成本动态感知控制模型 动态反馈和队列等待成本意识: 服务速率调整算法: 动态反馈控制器(DFC)和 服务率控制器(SRC) SRC公式4的原理 算力资源分配系统中的调整消耗 举例说明 服务…

九、FOC原理详解

1、FOC简介 FOC&#xff08;field-oriented control&#xff09;为磁场定向控制&#xff0c;又称为矢量控制&#xff08;vectorcontrol&#xff09;&#xff0c;是目前无刷直流电机&#xff08;BLDC&#xff09;和永磁同步电机&#xff08;PMSM&#xff09;高效控制的最佳选择…

web-03

CSS回顾 选择器 标签选择器 标签{}ID选择器 标签中定义ID属性。 #ID值{}类选择器 标签中使用class属性 .类名{}关于DIV/span div任意的大小的长方形&#xff0c;大小css&#xff1a; width, height控制。—换行 span-- 一行内 CSS常用属性 width/height 宽度/高度 定义&…

Excel求和如何过滤错误值

一、问题的提出 平时&#xff0c;我们在使用Excel时&#xff0c;最常用的功能就是求和了&#xff0c;一说到求和你可能想到用sum函数&#xff0c;但是如果sum的求和区域有#value #Div等错误值怎么办&#xff1f;如下图&#xff0c;记算C列中工资的总和。 直接用肯定会报错&…