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

如何检查 Kubernetes 网络配置

简介

Kubernetes 是一个容器编排系统,可以管理集群中的容器化应用程序。在集群中保持所有容器之间的网络连接需要一些高级网络技术。在本文中,我们将简要介绍一些工具和技术,用于检查这种网络设置。

如果您正在调试连接问题,调查网络吞吐量问题,或者探索 Kubernetes 的运行方式,这些工具可能会很有用。

如果您想了解更多关于 Kubernetes 的一般信息,我们的指南《Kubernetes 简介》涵盖了基础知识。对于 Kubernetes 的网络概述,请阅读《深入了解 Kubernetes 网络》。

如果您正在寻找托管的 Kubernetes 服务,可以查看我们为增长而构建的简单、托管的 Kubernetes 服务。

入门指南

本教程将假定您已经有一个 Kubernetes 集群,并在本地安装并配置了 kubectl 以连接到该集群。

以下各节包含许多命令,这些命令旨在在 Kubernetes 节点上运行。它们看起来像这样:

echo '这是一个节点命令'

应在本地机器上运行的命令将具有以下外观:

[本地环境]
echo '这是一个本地命令'

查找 Pod 的集群 IP

要查找 Kubernetes Pod 的集群 IP 地址,请在本地机器上使用 kubectl get pod 命令,并带有 -o wide 选项。此选项将列出更多信息,包括 Pod 所在的节点以及 Pod 的集群 IP。

[本地环境]
kubectl get pod -o wide
[本地环境]NAME                           READY     STATUS    RESTARTS   AGE       IP            NODE
hello-world-5b446dd74b-7c7pk   1/1       Running   0          22m       10.244.18.4   node-one
hello-world-5b446dd74b-pxtzt   1/1       Running   0          22m       10.244.3.4    node-two

IP 列将包含每个 Pod 的内部集群 IP 地址。

如果您没有看到您要查找的 Pod,请确保您在正确的命名空间中。您可以通过添加 --all-namespaces 标志来列出所有命名空间中的所有 Pod。

查找服务的 IP

我们也可以使用 kubectl 来查找服务 IP。在这种情况下,我们将列出所有命名空间中的所有服务:

[本地环境]
kubectl get service --all-namespaces
[本地环境]NAMESPACE     NAME                       TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
default       kubernetes                 ClusterIP   10.32.0.1       <none>        443/TCP         6d
kube-system   csi-attacher-doplugin      ClusterIP   10.32.159.128   <none>        12345/TCP       6d
kube-system   csi-provisioner-doplugin   ClusterIP   10.32.61.61     <none>        12345/TCP       6d
kube-system   kube-dns                   ClusterIP   10.32.0.10      <none>        53/UDP,53/TCP   6d
kube-system   kubernetes-dashboard       ClusterIP   10.32.226.209   <none>        443/TCP         6d

服务 IP 可以在 CLUSTER-IP 列中找到。

查找并进入 Pod 网络命名空间

每个 Kubernetes Pod 都被分配了自己的网络命名空间。网络命名空间(或 netns)是 Linux 的网络原语,提供了网络设备之间的隔离。

从 Pod 的 netns 中运行命令可能很有用,以检查 DNS 解析或一般网络连接。为此,我们首先需要查找一个 Pod 中容器的进程 ID。对于 Docker,我们可以使用两个命令来完成。首先,列出在节点上运行的容器:

docker ps
CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS              PORTS               NAMES
173ee46a3926        gcr.io/google-samples/node-hello        "/bin/sh -c 'node se…"   9 days ago          Up 9 days                               k8s_hello-world_hello-world-5b446dd74b-pxtzt_default_386a9073-7e35-11e8-8a3d-bae97d2c1afd_0
11ad51cb72df        k8s.gcr.io/pause-amd64:3.1              "/pause"                 9 days ago          Up 9 days                               k8s_POD_hello-world-5b446dd74b-pxtzt_default_386a9073-7e35-11e8-8a3d-bae97d2c1afd_0
. . .

找到您感兴趣的 Pod 中的任何容器的 容器 ID名称。在上面的输出中,我们展示了两个容器:

  • 第一个容器是在 hello-world Pod 中运行的 hello-world 应用程序
  • 第二个是在 hello-world Pod 中运行的 pause 容器。此容器仅用于保存 Pod 的网络命名空间

要获取任一容器的进程 ID,请记下容器 ID 或名称,并将其用于以下 docker 命令:

docker inspect --format '{{ .State.Pid }}' container-id-or-name
14552

将输出一个进程 ID(或 PID)。现在我们可以使用 nsenter 程序在该进程的网络命名空间中运行命令:

nsenter -t your-container-pid -n ip addr

请确保使用您自己的 PID,并将 ip addr 替换为您想在 Pod 的网络命名空间中运行的命令。

查找 Pod 的虚拟以太网接口

每个 Pod 的网络命名空间通过虚拟以太网管道与节点的根 netns 进行通信。在节点端,这个管道会显示为一个设备,通常以 veth 开头并以唯一标识符结尾,比如 veth77f2275veth01。在 Pod 内部,这个管道会显示为 eth0

将特定的 veth 设备与相应的 Pod 相关联可能会很有用。为了做到这一点,我们将列出节点上的所有网络设备,然后列出 Pod 的网络命名空间中的设备。然后我们可以对比这两个列表中的设备编号,以建立它们之间的关联。

首先,在 Pod 的网络命名空间中使用 nsenter 运行 ip addr。有关如何执行此操作,请参考前面的章节 查找并进入 Pod 网络命名空间

nsenter -t your-container-pid -n ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
10: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group defaultlink/ether 02:42:0a:f4:03:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 10.244.3.4/24 brd 10.244.3.255 scope global eth0valid_lft forever preferred_lft forever

该命令将输出 Pod 的接口列表。请注意示例输出中 eth0@ 后面的 if11 编号。这意味着该 Pod 的 eth0 连接到节点的第 11 个接口。现在在节点的默认命名空间中运行 ip addr 以列出其接口:

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever. . .7: veth77f2275@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master docker0 state UP group defaultlink/ether 26:05:99:58:0d:b9 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet6 fe80::2405:99ff:fe58:db9/64 scope linkvalid_lft forever preferred_lft forever
9: vethd36cef3@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master docker0 state UP group defaultlink/ether ae:05:21:a2:9a:2b brd ff:ff:ff:ff:ff:ff link-netnsid 1inet6 fe80::ac05:21ff:fea2:9a2b/64 scope linkvalid_lft forever preferred_lft forever
11: veth4f7342d@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master docker0 state UP group defaultlink/ether e6:4d:7b:6f:56:4c brd ff:ff:ff:ff:ff:ff link-netnsid 2inet6 fe80::e44d:7bff:fe6f:564c/64 scope linkvalid_lft forever preferred_lft forever

在这个示例输出中,第 11 个接口是 veth4f7342d。这是我们要调查的 Pod 的虚拟以太网管道。

检查 Conntrack 连接跟踪

在 1.11 版本之前,Kubernetes 使用 iptables NAT 和 conntrack 内核模块来跟踪连接。要列出当前正在被跟踪的所有连接,使用 conntrack 命令:

conntrack -L

要持续监视新连接,使用 -E 标志:

conntrack -E

要列出针对特定目标地址进行 conntrack 跟踪的连接,使用 -d 标志:

conntrack -L -d 10.32.0.1

如果您的节点在与服务建立可靠连接时出现问题,可能是您的连接跟踪表已满,新连接正在被丢弃。如果是这种情况,您可能会在系统日志中看到以下消息:

Jul 12 15:32:11 worker-528 kernel: nf_conntrack: table full, dropping packet.

有一个 sysctl 设置用于跟踪的最大连接数。您可以使用以下命令列出当前值:

sysctl net.netfilter.nf_conntrack_max
net.netfilter.nf_conntrack_max = 131072

要设置新值,使用 -w 标志:

sysctl -w net.netfilter.nf_conntrack_max=198000

要使此设置永久生效,将其添加到 sysctl.conf 文件中:

. . .
net.ipv4.netfilter.ip_conntrack_max = 198000

检查 Iptables 规则

在版本 1.11 之前,Kubernetes 使用 iptables NAT 来实现服务 IP 的虚拟 IP 转换和负载均衡。

要在节点上转储所有 iptables 规则,请使用 iptables-save 命令:

iptables-save

由于输出可能很长,您可能希望将其重定向到文件(iptables-save > output.txt)或使用分页器(iptables-save | less)以便更轻松地查看规则。

要仅列出 Kubernetes 服务 NAT 规则,请使用 iptables 命令和 -L 标志来指定正确的链:

iptables -t nat -L KUBE-SERVICES

Chain KUBE-SERVICES (2 references)
target     prot opt source               destination
KUBE-SVC-TCOU7JCQXEZGVUNU  udp  --  anywhere             10.32.0.10           /* kube-system/kube-dns:dns cluster IP */ udp dpt:domain
KUBE-SVC-ERIFXISQEP7F7OF4  tcp  --  anywhere             10.32.0.10           /* kube-system/kube-dns:dns-tcp cluster IP */ tcp dpt:domain
KUBE-SVC-XGLOHA7QRQ3V22RZ  tcp  --  anywhere             10.32.226.209        /* kube-system/kubernetes-dashboard: cluster IP */ tcp dpt:https
. . .

查询集群 DNS

调试集群 DNS 解析的一种方法是部署一个带有您需要的所有工具的调试容器,然后使用 kubectl 在其上执行 nslookup。这在官方 Kubernetes 文档中有描述。

另一种查询集群 DNS 的方法是在节点上使用 dignsenter。如果在基于 Debian 的 Linux 发行版上未安装 dig,可以使用 apt 进行安装:

apt install dnsutils

首先,找到 kube-dns 服务的集群 IP:

[environment local]
kubectl get service -n kube-system kube-dns
[environment local]NAME       TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
kube-dns   ClusterIP   10.32.0.10   <none>        53/UDP,53/TCP   15d

上面突出显示了集群 IP。接下来,我们将使用 nsenter 在容器命名空间中运行 dig。有关此操作的更多信息,请参阅 查找并进入 Pod 网络命名空间 部分:

nsenter -t 14346 -n dig kubernetes.default.svc.cluster.local @10.32.0.10

dig 命令查找了服务的完整域名 service-name.namespace.svc.cluster.local,并指定了集群 DNS 服务 IP 的 IP(@10.32.0.10)。

查看 IPVS 详细信息

从 Kubernetes 1.11 开始,kube-proxy 可以配置 IPVS 来处理虚拟服务 IP 到 Pod IP 的转换。您可以使用 ipvsadm 列出 IP 的转换表:

ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  100.64.0.1:443 rr-> 178.128.226.86:443           Masq    1      0          0
TCP  100.64.0.10:53 rr-> 100.96.1.3:53                Masq    1      0          0-> 100.96.1.4:53                Masq    1      0          0
UDP  100.64.0.10:53 rr-> 100.96.1.3:53                Masq    1      0          0-> 100.96.1.4:53                Masq    1      0          0

要显示单个服务 IP,请使用 -t 选项并指定所需的 IP:

ipvsadm -Ln -t 100.64.0.10:53

Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  100.64.0.10:53 rr-> 100.96.1.3:53                Masq    1      0          0-> 100.96.1.4:53                Masq    1      0          0

结论

在本文中,我们回顾了一些用于探索和检查 Kubernetes 集群网络细节的命令和技术。有关 Kubernetes 的更多信息,请查看我们的 Kubernetes 教程标签和官方 Kubernetes 文档。

相关文章:

如何检查 Kubernetes 网络配置

简介 Kubernetes 是一个容器编排系统&#xff0c;可以管理集群中的容器化应用程序。在集群中保持所有容器之间的网络连接需要一些高级网络技术。在本文中&#xff0c;我们将简要介绍一些工具和技术&#xff0c;用于检查这种网络设置。 如果您正在调试连接问题&#xff0c;调查…...

如何将网站封装成App:小猪APP分发助你实现

你有没有想过&#xff0c;将你的网站变成一个App会是什么样子&#xff1f;想象一下&#xff0c;用户只需点击一下图标&#xff0c;就能立刻访问你的内容&#xff0c;而不是在浏览器中输入网址。这不仅提升了用户体验&#xff0c;还能增加用户粘性。这一切都可以通过将网站封装成…...

探索C嘎嘎的奇妙世界:第十六关---STL(vector的练习)

1.只出现一次的数字 我们可以使用异或运算来解决这个问题&#xff1a; 异或运算有一个重要的性质&#xff1a;两个相同的数进行异或运算结果为 0&#xff0c;任何数与 0 异或结果为其本身。对于数组中的元素&#xff0c;依次进行异或运算&#xff0c;出现两次的元素异…...

最新扣子(Coze)实战案例:扣子卡片的制作及使用,完全免费教程

&#x1f9d9;‍♂️ 大家好&#xff0c;我是斜杠君&#xff0c;手把手教你搭建扣子AI应用。 &#x1f4dc; 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》&#xff0c;完全免费学习。 &#x1f440; 关注斜杠君&#xff0c;可获取完整版教程。&#x1f44d;&#x1f3f…...

Node-red win11安装

文章目录 前言一、安装node.js和npm二、安装Node-red三、 运行Node-red 前言 Node-RED 是一种编程工具&#xff0c;用于以新颖有趣的方式将硬件设备、API 和在线服务连接在一起。 它提供了一个基于浏览器的编辑器&#xff0c;只需单击一下即可将调色板中的各种节点轻松连接在…...

永久更改R包的安装目录

要永久更改 R 包的安装目录&#xff0c;可以通过设置 R 配置文件来实现。以下是步骤说明&#xff1a; 1. 查找和修改 R 配置文件 R 有几个配置文件用于保存用户和系统的设置&#xff1a; 用户级配置文件&#xff1a;通常位于 ~/.Rprofile系统级配置文件&#xff1a;通常位于…...

Webrtc支持FFMPEG硬解码之NVIDA(二)

一、前言 此系列文章分分为三篇, Webrtc支持FFMPEG硬解码之Intel(一)-CSDN博客 Webrtc支持FFMPEG硬解码之NVIDA(二)-CSDN博客 Webrtc支持FFMPEG硬解码之解码实现-CSDN博客 AMD硬解目前还没找到可用解码器,欢迎留言交流 二、环境 Windows平台 VS2019 Cmake 三、下…...

整理好了!2024年最常见 20 道设计模式面试题(九)

上一篇地址&#xff1a;整理好了&#xff01;2024年最常见 20 道设计模式面试题&#xff08;八&#xff09;-CSDN博客 十七、什么是享元模式&#xff1f;它在资源优化中扮演什么角色&#xff1f; 享元模式&#xff08;Flyweight Pattern&#xff09;是一种常用的软件设计模式…...

RAG实操教程langchain+Milvus向量数据库创建你的本地知识库 二

Miluvs 向量数据库 关于 Milvui 可以参考我的前两篇文章 • 一篇文章带你学会向量数据库Milvus&#xff08;一&#xff09;[1]• 一篇文章带你学会向量数据库Milvus&#xff08;二&#xff09;[2] 下面我们安装 pymilvus 库 pip install --upgrade --quiet pymilvus如果你…...

Spring+SpringMVC介绍+bean实例化+依赖注入实战

Spring介绍 Spring是一个轻量级的Java 开发框架&#xff0c;核心是IOC&#xff08;控制反转&#xff09;和AOP&#xff08;面向切面编程&#xff09; Spring解决了业务层&#xff08;Service包&#xff09;与其他各层&#xff08;表现层&#xff0c;包括Model&#xff0c;Vie…...

【安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录】

安装笔记-系列文章目录 安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 文章目录 安装笔记-系列文章目录安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 前言一、软件介绍名称&#xff1a;cifsutils主页官方介绍特点 二、安装步骤测试…...

61.WEB渗透测试-信息收集- WAF、框架组件识别(1)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;60.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露&#xff08;8&#xff09; WAF的识…...

qmt量化交易策略小白学习笔记第45期【qmt编程之期货行情数据--如何获取日线行情、tick行情】

qmt编程之获取期货行情数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 获取日线行情数…...

c#default 运算符

值类型默认值boolfalsebyte0char‘\0’decimal0.0Mdouble0.0Denum表达式 (E)0 产生的值&#xff0c;其中 E 为 enum 标识符。float0.0Fint0long0Lsbyte0short0struct将所有的值类型字段设置为默认值并将所有的引用类型字段设置为 null 时产生的值。uint0ulong0ushort0引用类型n…...

25计算机考研,这所985有机会!

吉林大学的计算机学科评估是A-&#xff0c;软件是B 实力还是很强的&#xff01; 考研的专科课代码分别是941和966 其实就是自命题&#xff0c;941是四合一&#xff1a;数据结构&#xff0c;计算机组成与设计&#xff0c;操作系统和计算机网络&#xff0c;这个和408统考的科目…...

SQL 基础入门教程

目录 什么是 SQL&#xff1f; SQL 的基本操作 数据库的创建和删除 表的创建和删除 数据的插入 数据的查询 数据的更新 数据的删除 SQL 的高级操作 表的连接 聚合函数 分组和排序 子查询 视图 索引 SQL 的数据完整性和约束 总结 SQL&#xff08;Structured Que…...

<Python><paddleocr>基于python使用百度paddleocr实现图片文字识别与替换

前言 本文是使用百度的开源库paddleocr来实现对图片文字的识别,准确度还不错,对图片文字的替换,则利用opencv来完成。 环境配置 系统:windows 平台:visual studio code 语言:python 库:paddleocr、opencv、pyqt5 依赖库安装 本例所需要的库可以直接用pip来安装。 安装…...

小程序开发的费用简介篇

小程序的价格跟很多因素有关系&#xff0c;比如你想要的复杂度、功能多不多等等 今天我就来具体说说开发一款APP&#xff0f;小程序到底需要多少 ❶功能复杂度&#xff1a;功能越多越复杂&#xff0c;开发时间和费用就越高&#xff0c;费用就会高 ❷设计要求&#xff1a;高级的…...

torch.unflod与torch.nn.functional.pad用法

PyTorch 中的两个函数:torch.unfold 和 torch.nn.unfold。它们分别用于不同的目的,让我们分别来理解一下: torch.nn.Unfold 类功能: 类似于函数 torch.unfold,torch.nn.Unfold 类也用于沿着指定维度滑动提取窗口并将每个窗口展平。与函数不同的是,torch.nn.Unfold 是一个…...

江苏 服务器性能监控包含哪些方面?

服务器的性能监控主要是为了确保服务器能够正常运行工作和性能优化的重要手段&#xff0c;接下来就来看一下服务器性能监控所包含的内容有哪些吧&#xff01; 首先对于服务器的系统资源进行一定的监控&#xff0c;CPU作为服务器的核心组件之一&#xff0c;所以我们要监控CPU的使…...

卓越的 App UI 风格引领潮流

卓越的 App UI 风格引领潮流...

BirdTalk IM集群中消息流转策略讨论

BirdTalk IM集群中消息流转策略讨论 目前群聊的存储策略是1写多读方案&#xff1b;每个群组一个队列&#xff0c;按时间顺序排列&#xff0c;不区分用户&#xff1b; 私聊的存储是写扩散的&#xff0c;每个人都有自己的消息队列&#xff0c;按时间顺序 保存所有的消息&#x…...

重磅!2024年最新影响因子正式发布,附Excel下载

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 激动人心的时刻终于来了&#xff0c;2024年影响因子已全面发布&#xff01;废话不多说&#xff0c;大家一起来看看最新的发布的结果吧&#xff01; 神刊&#xff1a;CA-A CANCER JOURNA…...

【会议征稿】2024年应用计算智能、信息学与大数据国际会议(ACIIBD 2024,7月26-28)

2024年应用计算智能、信息学与大数据国际学术会议&#xff08;ACIIBD 2024&#xff09;将于2024年7月26-28日在中国广州举办。会议将聚焦于计算智能及其应用、信息、大数据等相关的研究领域&#xff0c; 广泛邀请国内外知名专家学者&#xff0c;共同探讨相关学科领域的最新发展…...

【代码发布】Quantlab4.3:lightGBM应用于全球大类资产的多因子智能策略(代码+数据)

原创文章第566篇&#xff0c;专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 昨天&#xff0c;Quantlab整合Alpha158因子集&#xff0c;为机器学习大类资产配置策略做准备&#xff08;代码数据&#xff09;&#xff0c;我们完成了因子集构建&#xff0c;并尝试…...

【毕业设计】Django 校园二手交易平台(有源码+mysql数据)

此项目有完整实现源码&#xff0c;有需要请联系博主 Django 校园二手交易平台开发项目 项目选择动机 本项目旨在开发一个基于Django的校园二手交易平台&#xff0c;为大学生提供一个安全便捷的二手物品买卖平台。该平台将提供用户注册和认证、物品发布和搜索、交易信息管理等…...

文章自动生成器,在线AI写作工具

随着人工智能AI技术的发展&#xff0c;AI技术被应用到越来越多的场景。对于需要创作内容的同学来说&#xff0c;AI写作-文章内容自动生成器是一个非常好的辅助工具。AI写作工具可以提升我们的创作效率&#xff0c;快速的生成文章&#xff0c;然后在根据需求进行调整修改即可。下…...

Matlab初识:什么是Matlab?它的历史、发展和应用领域

目录 一、什么是Matlab&#xff1f; 二、Matlab的历史与发展 三、Matlab的应用领域 四、安装和启动Matlab 五、界面介绍 六、第一个Matlab程序 七、总结 一、什么是Matlab&#xff1f; Matlab 是由 MathWorks 公司开发的一款用于数值计算、可视化以及编程的高级技术计算…...

大模型之-Seq2Seq介绍

大模型之-Seq2Seq介绍 1. Seq2Seq 模型概述 Seq2Seq&#xff08;Sequence to Sequence&#xff09;模型是一种用于处理序列数据的深度学习模型&#xff0c;常用于机器翻译、文本摘要和对话系统等任务。它的核心思想是将一个输入序列转换成一个输出序列。 Seq2Seq模型由两个主…...

NSSCTF-Web题目12

目录 [SWPUCTF 2021 新生赛]finalrce 1、题目 2、知识点 3、思路 [UUCTF 2022 新生赛]ez_rce 1、题目 2、知识点 3、思路 [羊城杯 2020]easycon 1、题目 2、知识点 3、思路 [SWPUCTF 2021 新生赛]finalrce 1、题目 2、知识点 命令执行&#xff0c;tee命令 3、思路…...

phpcms手机网站模板/注册城乡规划师

根据字面意思就基本上理解了&#xff0c;日期函数就是对日期进行处理的&#xff0c;字符串函数就是处理字符串的&#xff0c;下面一个个单独介绍。 一&#xff0c;日期函数 1&#xff0c;计算两个日期之间的间隔 语法&#xff1a;datediff(参与计算的日期部分&#xff0c;开始日…...

做网站优化排名/深圳网络推广外包

随着无限火力自选模式的开启&#xff0c;许多小伙伴也沉迷在组队开黑的快乐中。而这次由于有Ban位的存在&#xff0c;所以除了最热门的猫咪外&#xff0c;一部分冷门英雄也正在崛起中。悠米悠米绝对是非BAN必选的存在&#xff0c;只要队友稍微选一些肉装坦克&#xff0c;或是灵…...

大学网站建设的目标/镇江网站建设企业

结构性思维四大原则&#xff1a; 一、结论先行 二、本质是追寻为什么的过程 三、分类清楚&#xff08;MECE原则&#xff1a;Mutually Exclusive相互独立&#xff0c;Collectively Exhaustive完全穷尽&#xff09; 四、排序逻辑 排序逻辑是让受众更容易记忆和理解的一种方式…...

axure可以做网站/公司网站搭建流程

以下为XML文档节点&#xff0c;是从webServie上返回的数据。<?xmlversion "1.0"encoding"utf-8"?><?xmlversion "1.0"encoding"GBK"?> 以下为XML文档节点&#xff0c;是从webServie上返回的数据。 0 成功 2012-08-15 …...

西宁网站设计公司价格/疫情最新消息

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#includeusing namespace std;class account {public:int id;int money;void balance(){cout<}void deposit(){int n;cout<cin>>n;moneyn;}void draw(){int q;cout<while(1){cin>>q;if(moneycout<else{mon…...

wordpress音乐模版/又有什么新病毒出现了

Nginx 支持以下命令行参数&#xff1a; ☆ -? | -h —— 打印命令行参数帮助。 ☆ -c file —— 使用一个可替代的配置文件代替默认文件。 ☆ -e file —— 使用一个可替代的文件错误日志文件来存储日志&#xff0c;代替默认文件(1.19.5)。特殊值 stderr 选择标准错误文件。 …...