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

centos7网络命令:ping、dig、nsloopup、tcpdump

目录

  • 一、ping
    • 1、命令参数:
    • 2、示例-将当前的信息打印到一个文件中
    • 3、示例-结束进程
  • 二、dig
    • 1、安装
    • 2、语法格式
        • 选项说明
    • 3、示例
    • 4、示例-将当前的信息打印到一个文件中
  • 三、nslookup
    • 1、安装
    • 2、语法格式
        • 选项说明
    • 3、示例
  • 四、tcpdump抓包
    • 1、安装
    • 2、语法格式:
        • 选项说明
    • 3 示例
    • 4、示例-将当前的信息打印到一个文件中

一、ping

1、命令参数:

-d 使用Socket的SO_DEBUG功能。

-f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。

-n 只输出数值。

-q 不显示任何传送封包的信息,只显示最后的结果。[这个以后能加入到脚本中,作为ping结果判断的依据吗?]

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。

-R 记录路由过程。:一般可以来测试网络链路在哪个环节有故障。

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

-c 数目:在发送指定数目的包后停止。

-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

-I 网络界面:使用指定的网络界面送出数据包。

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

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

-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

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

2、示例-将当前的信息打印到一个文件中

#!/bin/bash
ping 192.168.192.17 | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime()); fflush()}' >> ./log/ping17.txt &
[root@test2 cmd]# tail -f ./log/ping17.txt
PING 192.168.192.17 (192.168.192.17) 56(84) bytes of data.      2024-02-26 15:40:11
64 bytes from 192.168.192.17: icmp_seq=1 ttl=63 time=0.688 ms   2024-02-26 15:40:11
64 bytes from 192.168.192.17: icmp_seq=2 ttl=63 time=0.478 ms   2024-02-26 15:40:12
64 bytes from 192.168.192.17: icmp_seq=3 ttl=63 time=0.478 ms   2024-02-26 15:40:13
64 bytes from 192.168.192.17: icmp_seq=4 ttl=63 time=0.329 ms   2024-02-26 15:40:14
64 bytes from 192.168.192.17: icmp_seq=5 ttl=63 time=0.375 ms   2024-02-26 15:40:15
64 bytes from 192.168.192.17: icmp_seq=6 ttl=63 time=0.336 ms   2024-02-26 15:40:16
64 bytes from 192.168.192.17: icmp_seq=7 ttl=63 time=0.470 ms   2024-02-26 15:40:17

3、示例-结束进程

[root@test2 cmd]# ps -ef |grep ping
root     29252     1  0 15:40 pts/1    00:00:00 ping 192.168.192.17
root     29492 26727  0 15:40 pts/1    00:00:00 grep --color=auto ping
[root@test2 cmd]# kill -9 29252

二、dig

1、安装

dig 命令用于执行网络 DNS 查找。dig 是一个用于查询 DNS 名称服务器的灵活工具。它执行DNS查找并显示从查询的名称服务器返回的答案。
安装bind-utils: dig 和 host 工具位于 bind-utils 包中,而 nslookup 通常默认安装在CentOS 7上。要安装 bind-utils,运行以下命令:

 yum install bind-utils

验证安装:安装完成后,可以通过运行以下命令来检查这些工具是否已正确安装:

#对于 dig:
dig -v
#对于 host:
host -V
#对于 nslookup:
nslookup -version

2、语法格式

dig [@server] [-b address] [-c class] [-f filename] [-k filename][-m] [-p port#] [-q name] [-t type] [-x addr] [-y [hmac:]name:ke
选项说明
@<服务器地址>   #指定进行域名解析的域名服务器
-b    #指定使用本机的哪个IP地址向域名服务器发送域名查询请求
-f<文件名称>   #指定dig以批处理的方式运行
-P  #指定域名服务器所使用端口号
-t<类型>  #指定要查询的DNS数据类型
-x  #执行逆向域名查询
-4  #使用IPv4
-6  #使用IPv6
-h  #显示帮助信息

3、示例

  • 只指定域名
[root@app3-paas ~]# dig junshi.sinoeyes.com; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> junshi.sinoeyes.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 261
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;junshi.sinoeyes.com.           IN      A;; ANSWER SECTION:
junshi.sinoeyes.com.    38      IN      CNAME   gtm-cn-9lb3e55uy09.sinoeyes.com.
gtm-cn-9lb3e55uy09.sinoeyes.com. 38 IN  A       59.46.134.61
gtm-cn-9lb3e55uy09.sinoeyes.com. 38 IN  A       175.170.139.175;; Query time: 22 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: 三 3月 13 11:19:27 CST 2024
;; MSG SIZE  rcvd: 113
  • 指定域名和域名解析服务器
[root@app3-paas ~]# dig junshi.sinoeyes.com @192.168.100.5; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> junshi.sinoeyes.com @192.168.100.5
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1446
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;junshi.sinoeyes.com.           IN      A;; ANSWER SECTION:
junshi.sinoeyes.com.    35      IN      CNAME   gtm-cn-9lb3e55uy09.sinoeyes.com.
gtm-cn-9lb3e55uy09.sinoeyes.com. 35 IN  A       175.170.139.175
gtm-cn-9lb3e55uy09.sinoeyes.com. 35 IN  A       59.46.134.61;; Query time: 22 msec
;; SERVER: 192.168.100.5#53(192.168.100.5)
;; WHEN: 三 3月 13 11:20:25 CST 2024
;; MSG SIZE  rcvd: 113

4、示例-将当前的信息打印到一个文件中

#!/bin/bash
export PATH=$PATH:/usr/sbin
dig junshi.sinoeyes.com @192.168.100.5 +short >> /root/cmd/log/dns5.txt
date >> /root/cmd/log/dns5.txt
echo "-------------------" >> /root/cmd/log/dns5.txt

三、nslookup

1、安装

nslookup(name server lookup)命令用于查询域名 DNS 信息的工具。nslookup 有两种工作模式,即“交互模式”和“非交互模式”。

[root@CentOS7-1 ~]# yum install -y bind-utils

2、语法格式

nslookup [-option] [name | -] [server]
选项说明
-query=TYPE      #设置查询类型
-timeout=NUMBER  #设置等待响应的超时时间,单位秒
-sil             #不显示任何警告信息

3、示例

[root@app3-paas ~]# nslookup junshi.sinoeyes.com
Server:         114.114.114.114
Address:        114.114.114.114#53Non-authoritative answer:
junshi.sinoeyes.com     canonical name = gtm-cn-9lb3e55uy09.sinoeyes.com.
Name:   gtm-cn-9lb3e55uy09.sinoeyes.com
Address: 59.46.134.61
Name:   gtm-cn-9lb3e55uy09.sinoeyes.com
Address: 175.170.139.175

四、tcpdump抓包

1、安装

yum install -y tcpdump

2、语法格式:

tcpdump [ -AdDefIJKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ][ -C file_size ] [ -G rotate_seconds ] [ -F file ][ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ][ -Q|-P in|out|inout ][ -r file ] [ -s snaplen ] [ -T type ] [ -w file ][ -W filecount ][ -E spi@ipaddr algo:secret,...  ][ -y datalinktype ] [ -z postrotate-command ] [ -Z user ][ expression ]
选项说明
-A 以ASCII格式打印出所有分组,并将链路层的头最小化。
-c 在收到指定的数量的分组后,tcpdump就会停止。
-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size
中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size
的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。
-d 将匹配信息包的代码以人们能够理解的汇编格式给出。
-dd 将匹配信息包的代码以c语言程序段的格式给出。
-ddd 将匹配信息包的代码以十进制的形式给出。
-D 打印出系统中所有可以用tcpdump截包的网络接口。
-e 在输出行打印出数据链路层的头部信息。
-E 用spi@ipaddr algo:secret解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。
-f 将外部的Internet地址以数字的形式打印出来。
-F 从指定的文件中读取表达式,忽略命令行中给出的表达式。
-i 指定监听的网络接口。
-l 使标准输出变为缓冲行形式。
-L 列出网络接口的已知数据链路。
-m 从文件module中导入SMI MIB模块定义。该参数可以被使用多次,以导入多个MIB模块。
-M 如果tcp报文中存在TCP-MD5选项,则需要用secret作为共享的验证码用于验证TCP-MD5选选项摘要(详情可参考RFC 2385)。
-n 不把网络地址转换成名字。
-N 不输出主机名中的域名部分。例如,link.linux265.com 只输出link。
-t 在输出的每一行不打印时间戳。
-O 不运行分组分组匹配(packet-matching)代码优化程序。
-P 不将网络接口设置成混杂模式。
-q 快速输出。只输出较少的协议信息。
-r 从指定的文件中读取包(这些包一般通过-w选项产生)-S 将tcp的序列号以绝对值形式输出,而不是相对值。
-s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。
-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc远程过程调用)和snmp(简单网络管理协议;)。
-t 不在每一行中输出时间戳。
-tt 在每一行中输出非格式化的时间戳。
-ttt 输出本行和前面一行之间的时间差。
-tttt 在每一行中输出由date处理的默认格式的时间戳。
-u 输出未解码的NFS句柄。
-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。
-vv 输出详细的报文信息。
-w 直接将分组写入文件中,而不是不分析并打印出来。
-x 以16进制数形式显示每一个报文 (去掉链路层报头) . 可以显示较小的完整报文, 否则只显示snaplen个字节.
-xx 以16进制数形式显示每一个报文(包含链路层包头)。
-X 以16进制和ASCII码形式显示每个报文(去掉链路层报头)。
-XX 以16进制和ASCII吗形式显示每个报文(包含链路层报头)。
-y 设置tcpdump 捕获数据链路层协议类型
-Z 使tcpdump 放弃自己的超级权限(如果以root用户启动tcpdump, tcpdump将会有超级用户权限), 并把当前tcpdump的用户ID设置为user, 组ID设置为user首要所属组的ID

3 示例

# 监听特定网卡
tcpdump -i en0# 监听特定主机
#例子:监听本机跟主机182.254.38.55之间往来的通信包。
#备注:出、入的包都会被监听。
tcpdump host 182.254.38.55# 特定来源、目标地址的通信
#特定来源
tcpdump src host hostname/ip# 特定目标地址
tcpdump dst host hostname/ip# 如果不指定src跟dst,那么来源 或者目标 是hostname的通信都会被监听
tcpdump host hostname/ip # 过滤网段
#若你的ip范围是一个网段,可以直接这样指定
$ tcpdump net 192.168.10.0/24# 根据源网段进行过滤
$ tcpdump src net 192.168# 根据目标网段进行过滤
$ tcpdump dst net 192.168# 特定端口
tcpdump port 3000#端口同样可以再细分为源端口,目标端口
# 根据源端口进行过滤
$ tcpdump src port 8088# 根据目标端口进行过滤
$ tcpdump dst port 8088#如果你想要同时指定两个端口你可以这样写
$ tcpdump port 80 or port 8088$ tcpdump port 80 or 8088#如果你的想抓取的不再是一两个端口,而是一个范围,一个一个指定就非常麻烦了,此时你可以这样指定一个端口段。
$ tcpdump portrange 8000-8080
$ tcpdump src portrange 8000-8080
$ tcpdump dst portrange 8000-8080#对于一些常见协议的默认端口,我们还可以直接使用协议名,而不用具体的端口号,比如 http == 80,https == 443 等
$ tcpdump tcp port http# 基于协议进行过滤:proto
#常见的网络协议有:tcp, udp, icmp, http, ip,ipv6 等
#若你只想查看 icmp 的包,可以直接这样写
$ tcpdump icmp#protocol 可选值:ip, ip6, arp, rarp, atalk, aarp, decnet, sca, lat, mopdl, moprc, iso, stp, ipx, or netbeui# 来源主机+端口+TCP
#监听来自主机123.207.116.169在端口22上的TCP数据包
tcpdump tcp port 22 and src host 123.207.116.169# 监听特定主机之间的通信
tcpdump ip host 210.27.48.1 and 210.27.48.2#210.27.48.1除了和210.27.48.2之外的主机之间的通信
tcpdump ip host 210.27.48.1 and ! 210.27.48.2# 稍微详细点的例子
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析# 抓http包
# 限制抓包的数量
#如下,抓到1000个包后,自动退出
tcpdump -c 1000# 保存到本地
#备注:tcpdump默认会将输出写到缓冲区,只有缓冲区内容达到一定的大小,或者tcpdump退出时,才会将输出写到本地磁盘,使用 -w 参数后接一个以 .pcap 后缀命令的文件名,就可以将 tcpdump 抓到的数据保存到文件中。
$ tcpdump icmp -w icmp.pcaptcpdump -n -vvv -c 1000 -w /tmp/tcpdump_save.pcap# 也可以加上-U强制立即写到本地磁盘(一般不建议,性能相对较差)
# 实战例子
先看下面一个比较常见的部署方式,在服务器上部署了nodejs server,监听3000端口。nginx反向代理监听80端口,并将请求转发给nodejs server(127.0.0.1:3000)。
浏览器 -> nginx反向代理 -> nodejs server
问题:假设用户(183.14.132.117)访问浏览器,发现请求没有返回,该怎么排查呢?
步骤一:查看请求是否到达nodejs server -> 可通过日志查看。
步骤二:查看nginx是否将请求转发给nodejs server。tcpdump port 8383 
这时你会发现没有任何输出,即使nodejs server已经收到了请求。因为nginx转发到的地址是127.0.0.1,用的不是默认的interface,此时需要显示指定interfacetcpdump port 8383 -i lo
备注:配置nginx,让nginx带上请求侧的host,不然nodejs server无法获取 src host,也就是说,下面的监听是无效的,因为此时对于nodejs server来说,src host 都是 127.0.0.1tcpdump port 8383 -i lo and src host 183.14.132.117
步骤三:查看请求是否达到服务器tcpdump -n tcp port 8383 -i lo and src host 183.14.132.117

4、示例-将当前的信息打印到一个文件中

#!/bin/bash
tcpdump -i ens160 vrrp -n >> /root/cmd/log/tcpdump.txt
echo "-------------------" >> /root/cmd/log/tcpdump.txt
[root@tidb49 cmd]# tail -f log/tcpdump.txt 
13:50:54.005105 IP 192.168.192.48 > 192.168.192.49: VRRPv2, Advertisement, vrid 142, prio 90, authtype simple, intvl 1s, length 20
13:50:55.005522 IP 192.168.192.48 > 192.168.192.49: VRRPv2, Advertisement, vrid 142, prio 90, authtype simple, intvl 1s, length 20
13:50:56.006615 IP 192.168.192.48 > 192.168.192.49: VRRPv2, Advertisement, vrid 142, prio 90, authtype simple, intvl 1s, length 20
13:50:57.007782 IP 192.168.192.48 > 192.168.192.49: VRRPv2, Advertisement, vrid 142, prio 90, authtype simple, intvl 1s, length 20# 抓取内容
21:26:49.013621 IP 172.20.20.1.15605 > 172.20.20.2.5920: Flags [P.], seq 49:97, ack 106048, win 4723, length 48第一列:时分秒毫秒 21:26:49.013621
第二列:网络协议 IP
第三列:发送方的ip地址+端口号,其中172.20.20.1是 ip,而15605 是端口号
第四列:箭头 >, 表示数据流向
第五列:接收方的ip地址+端口号,其中 172.20.20.2 是 ip,而5920 是端口号
第六列:冒号
第七列:数据包内容,包括Flags 标识符,seq 号,ack 号,win 窗口,数据长度 length,其中 [P.] 表示 PUSH 标志位为 1

相关文章:

centos7网络命令:ping、dig、nsloopup、tcpdump

目录 一、ping1、命令参数&#xff1a;2、示例-将当前的信息打印到一个文件中3、示例-结束进程 二、dig1、安装2、语法格式选项说明 3、示例4、示例-将当前的信息打印到一个文件中 三、nslookup1、安装2、语法格式选项说明 3、示例 四、tcpdump抓包1、安装2、语法格式&#xff…...

Excel判断CD两列在EF两列的列表中是否存在

需求 需要将CD两列的ID和NAME组合起来&#xff0c;查询EF两列的ID和NAME组合起来的列表中是否存在&#xff1f; 比如&#xff0c;判断第二行的“123456ABC”在EF的第二行到第四行中是否存在&#xff0c;若存在则显示Y&#xff0c;不存在则显示N 实现的计算公式 IF(ISNUMBER…...

基于斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)的无人机三维路径规划(MATLAB)

一、无人机路径规划模型介绍 二、算法介绍 斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO),是由Abdelazim Hussien于2024年提出的一种基于群体的新型元启发式算法,它从自然界中观察到的斑翠鸟独特的狩猎行为和共生关系中汲取灵感。PKO 算法围绕三个不同的阶段构建:栖息…...

同程旅行前端面试汇总

一、同程旅行一面 自我介绍技术提问 打开新的tab页、window.open是否共享sessionStorage存储的数据vue、react 源码有没有看过&#xff0c;说一下react17 与 react18区别webpack中loader与plugin&#xff0c;有没有自己写过vuex、reactx 刷新数据丢失 怎么做的持久化 反问 总…...

小美的平衡矩阵_dp思路

小美的平衡矩阵 写在前面: 本博客只是一种解题思路的提供。 小美的平衡矩阵 题目描述&#xff1a; 小美拿到了一个n*n 的矩阵&#xff0c;其中每个元素是 0 或者 1。 小美认为一个矩形区域是完美的&#xff0c;当且仅当该区域内 0 的数量恰好等于 1 的数量。 现在&#xf…...

json展示curl 请求接口返回结果

使用curl发送请求并将返回结果以JSON格式展示&#xff0c;通常需要确保请求的响应本身就是JSON格式。可以结合jq这个JSON处理工具来格式化输出。 首先要安装jq 工具。 Linux发行版中&#xff0c;你可以使用包管理器来安装它。 sudo yum install jq # 对于CentOS/RHEL 安装成…...

2024 年排名前 5 名的 Mac 数据恢复软件分享

如果您已经在 Mac 上丢失了数据并且正在寻找恢复数据的方法&#xff0c;那么您来对地方了。互联网上有超过 50 个适用于 Mac 的数据恢复程序。哪个是最好的 Mac 数据恢复软件&#xff1f;不用担心。本文列出了 5 款 Mac 数据恢复软件&#xff0c;可帮助您在 Mac OS 下恢复丢失的…...

请描述一下Spring MVC的工作流程。在Spring MVC中,DispatcherServlet的作用是什么?

请描述一下Spring MVC的工作流程。 Spring MVC 的工作流程是基于请求驱动的&#xff0c;它围绕 Servlet 设计&#xff0c;将请求映射到处理器&#xff0c;处理器处理请求并返回响应。以下是 Spring MVC 的基本工作流程&#xff1a; 发送请求&#xff1a; 客户端&#xff08;例…...

2023年终总结——跌跌撞撞不断修正

目录 一、回顾1.一月&#xff0c;鼓足信心的开始2.二月&#xff0c;焦躁不安3.三月&#xff0c;路还是要一步一步的走4.四月&#xff0c;平平淡淡的前行5.五月&#xff0c;轰轰烈烈的前行6.六月&#xff0c;看事情更底层透彻了7.七月&#xff0c;设计模式升华月8.八月&#xff…...

OPPO后端二面,凉了!

这篇文章的问题来源于一个读者之前分享的 OPPO 后端凉经&#xff0c;我对比较典型的一些问题进行了分类并给出了详细的参考答案。希望能对正在参加面试的朋友们能够有点帮助&#xff01; Java String 为什么是不可变的? public final class String implements java.io.Seri…...

Unity3d版白银城地图

将老外之前拼接的Unity3d版白银城地图&#xff0c;导入到国内某手游里&#xff0c;改成它的客户端地图模式&#xff0c;可以体验一把手游的快乐。 人物角色用的是它原版的手游默认的&#xff0c;城内显示效果很好&#xff0c;大家可以仔细看看。 由于前期在导入时遇到重大挫折&…...

【PCL】(二十八)点云超体素分割

&#xff08;二十九&#xff09;点云超体素分割 论文&#xff1a;Voxel Cloud Connectivity Segmentation - Supervoxels for Point Clouds supervoxel_clustering.cpp #include <pcl/console/parse.h> #include <pcl/point_cloud.h> #include <pcl/point_ty…...

Socket通信Demo(Unity客户端和C#)

Socket通信基本流程 首先要启动服务器创建Socket&#xff0c;然后要绑定服务器的一个端口这样客户端通过服务器IP端口号就能连接到服务器了服务器接下来会设置监听队列&#xff0c;监听并等待要连接到它的客户端客户端在服务器启动之后也建立自己的Socket&#xff0c;然后使用…...

Lucene 自定义词库

import org.apache.lucene.analysis.hunspell.Dictionary; import org.apache.lucene.analysis.hunspell.HunspellStemFilter; import...

【LeetCode热题100】73. 矩阵置零(矩阵)

一.题目要求 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 二.题目难度 中等 三.输入样例 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0…...

使用Barrier共享鼠标键盘,通过macos控制ubuntu系统

之前文章写过如何使用barrrier通过windows系统控制ubuntu系统&#xff0c;该文章将详细介绍如何使用barrier通过macos系统控制ubuntu系统 一、macOS安装barrier macOS版本barrier链接 1、双击点开安装包 2、将安装包里的barrier拷贝到macOS的达达->应用程序中 3、在达达…...

c++:类和对象中:拷贝构造和赋值运算符重载详解

c:类和对象 构造函数和析构函数详解 文章目录 c:类和对象构造函数和析构函数详解 前言一、拷贝构造怎么写拷贝构造1.拷贝构造也是构造函数的一种,构造函数没有值.所以拷贝构造也没有返回值**2.拷贝构造只有一个形参,正常这个形参是自定义类型对象的引用.3. 如果我们没有显示写…...

Day33:安全开发-JavaEE应用SQL预编译Filter过滤器Listener监听器访问控制

目录 JavaEE-预编译-SQL JavaEE-过滤器-Filter JavaEE-监听器-Listen 思维导图 Java知识点 功能&#xff1a;数据库操作&#xff0c;文件操作&#xff0c;序列化数据&#xff0c;身份验证&#xff0c;框架开发&#xff0c;第三方库使用等. 框架库&#xff1a;MyBatis&#…...

Log4j如何支持多线程环境?你如何优化Log4j的性能?

Log4j如何支持多线程环境&#xff1f; Log4j 通过其内部设计来支持多线程环境&#xff0c;确保在多线程应用程序中能够安全地使用。以下是 Log4j 支持多线程环境的一些关键方面&#xff1a; 线程安全性&#xff1a; Log4j 的 Logger 类和 Appender 类都是设计为线程安全的。这…...

golang sync.Pool 指针数据覆盖问题

场景 1. sync.Pool设置 var stringPool sync.Pool{New: func() any {return new([]string)}, }func NewString() *[]string {v : stringPool.Get().(*[]string)return v }func PutString(s *[]string) {if s nil {return}if cap(*s) > 2048 {s nil} else {*s (*s)[:0]…...

VUE+内置iframe传值失效问题解决

起因&#xff1a; 公司业务需要计算建筑物截收面积&#xff0c;然后我采用的是openCV来计算&#xff0c;在vue内部引用不了&#xff0c;然后就采用了iframe原生html来完成&#xff1b;功能实现了我想让iframe和vue通信&#xff1b;然后用原有方式试了多次都失败了&#xff0c;i…...

Day31:安全开发-JS应用WebPack打包器第三方库JQuery安装使用安全检测

目录 打包器-WebPack-使用&安全 第三方库-JQuery-使用&安全 思维导图 JS知识点&#xff1a; 功能&#xff1a;登录验证&#xff0c;文件操作&#xff0c;SQL操作&#xff0c;云应用接入&#xff0c;框架开发&#xff0c;打包器使用等 技术&#xff1a;原生开发&…...

Go Zero微服务个人探究之路(十六)回顾api服务和rpc服务的本质

目录 前言 正文 API&#xff08;Application Programming Interface&#xff09; RPC&#xff08;Remote Procedure Call&#xff09; API 与 RPC 的关系 分布式部署 API 和 RPC 结语 前言 go-zero 是一个基于 Go 语言的微服务框架&#xff0c;它提供了一套简洁的编程模…...

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的夜间车辆检测系统(深度学习代码+UI界面+训练数据集)

摘要&#xff1a;开发夜间车辆检测系统对于自动驾驶技术具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个夜间车辆检测系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#xff0c;展示了不同模型间…...

Spring体系架构

目录 核心容器(Core Container) 数据访问/集成(Data Access/Integration) Web开发(Web)...

【PLC】现场总线和工业以太网汇总

1、 现场总线 1.1 什么是现场总线 1&#xff09;非专业描述&#xff1a; 如下图&#xff1a;“人机界面”一般通过以太网连接“控制器(PLC)”&#xff0c;“控制器(PLC)”通过 “现场总线”和现场设备连接。 2&#xff09;专业描述&#xff08;维基百科&#xff09; 现场总线…...

【吊打面试官系列】Java虚拟机JVM篇 - 关于JVM分析

大家好&#xff0c;我是锋哥。今天分享关于JVM分析的JVM面试题&#xff0c;希望对大家有帮助&#xff1b; 查看JVM进程号的命令是什么? 可以使用 ps ‐ef 和 jps ‐v 等等。 怎么查看剩余内存? 比如&#xff1a; free ‐m, free ‐h, top 命令等等。 1000道 互联网大厂Jav…...

Mysql锁与MVCC

文章目录 Mysql锁的类型锁使用MVCC快照读和当前读读视图【Read View】串行化的解决 exlpain字段解析ACID的原理日志引擎整合SpringBoot博客记录 Mysql锁的类型 MySQL中有哪些锁&#xff1a; 乐观锁&#xff08;Optimistic Locking&#xff09;&#xff1a;假设并发操作时不会发…...

rancher是什么

Rancher Labs是制作Rancher的公司。Rancher Labs成立于2014年&#xff0c;是一家专注于企业级容器管理软件的公司。它的产品设计旨在简化在分布式环境中部署和管理容器的过程&#xff0c;帮助企业轻松地采用容器技术和Kubernetes。Rancher Labs提供的Rancher平台支持Docker容器…...

阿里云服务器安全狗免费使用多引擎智能查杀引擎

云服务器具有按量付费、降低综合成本等诸多优势&#xff0c;受到很多企业的欢迎。 因此&#xff0c;目前使用的云服务器越来越多。 阿里云是目前云服务器中最具影响力的品牌&#xff0c;因此选择阿里云服务器的用户数量也是最多的。 那么阿里云服务器需要安装杀毒软件吗&#x…...