如何检查 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
开头并以唯一标识符结尾,比如 veth77f2275
或 veth01
。在 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 的方法是在节点上使用 dig
和 nsenter
。如果在基于 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 是一个容器编排系统,可以管理集群中的容器化应用程序。在集群中保持所有容器之间的网络连接需要一些高级网络技术。在本文中,我们将简要介绍一些工具和技术,用于检查这种网络设置。 如果您正在调试连接问题,调查…...
如何将网站封装成App:小猪APP分发助你实现
你有没有想过,将你的网站变成一个App会是什么样子?想象一下,用户只需点击一下图标,就能立刻访问你的内容,而不是在浏览器中输入网址。这不仅提升了用户体验,还能增加用户粘性。这一切都可以通过将网站封装成…...
探索C嘎嘎的奇妙世界:第十六关---STL(vector的练习)
1.只出现一次的数字 我们可以使用异或运算来解决这个问题: 异或运算有一个重要的性质:两个相同的数进行异或运算结果为 0,任何数与 0 异或结果为其本身。对于数组中的元素,依次进行异或运算,出现两次的元素异…...
最新扣子(Coze)实战案例:扣子卡片的制作及使用,完全免费教程
🧙♂️ 大家好,我是斜杠君,手把手教你搭建扣子AI应用。 📜 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》,完全免费学习。 👀 关注斜杠君,可获取完整版教程。👍Ἷ…...
Node-red win11安装
文章目录 前言一、安装node.js和npm二、安装Node-red三、 运行Node-red 前言 Node-RED 是一种编程工具,用于以新颖有趣的方式将硬件设备、API 和在线服务连接在一起。 它提供了一个基于浏览器的编辑器,只需单击一下即可将调色板中的各种节点轻松连接在…...
永久更改R包的安装目录
要永久更改 R 包的安装目录,可以通过设置 R 配置文件来实现。以下是步骤说明: 1. 查找和修改 R 配置文件 R 有几个配置文件用于保存用户和系统的设置: 用户级配置文件:通常位于 ~/.Rprofile系统级配置文件:通常位于…...
Webrtc支持FFMPEG硬解码之NVIDA(二)
一、前言 此系列文章分分为三篇, Webrtc支持FFMPEG硬解码之Intel(一)-CSDN博客 Webrtc支持FFMPEG硬解码之NVIDA(二)-CSDN博客 Webrtc支持FFMPEG硬解码之解码实现-CSDN博客 AMD硬解目前还没找到可用解码器,欢迎留言交流 二、环境 Windows平台 VS2019 Cmake 三、下…...
整理好了!2024年最常见 20 道设计模式面试题(九)
上一篇地址:整理好了!2024年最常见 20 道设计模式面试题(八)-CSDN博客 十七、什么是享元模式?它在资源优化中扮演什么角色? 享元模式(Flyweight Pattern)是一种常用的软件设计模式…...
RAG实操教程langchain+Milvus向量数据库创建你的本地知识库 二
Miluvs 向量数据库 关于 Milvui 可以参考我的前两篇文章 • 一篇文章带你学会向量数据库Milvus(一)[1]• 一篇文章带你学会向量数据库Milvus(二)[2] 下面我们安装 pymilvus 库 pip install --upgrade --quiet pymilvus如果你…...
Spring+SpringMVC介绍+bean实例化+依赖注入实战
Spring介绍 Spring是一个轻量级的Java 开发框架,核心是IOC(控制反转)和AOP(面向切面编程) Spring解决了业务层(Service包)与其他各层(表现层,包括Model,Vie…...
【安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录】
安装笔记-系列文章目录 安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 文章目录 安装笔记-系列文章目录安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 前言一、软件介绍名称:cifsutils主页官方介绍特点 二、安装步骤测试…...
61.WEB渗透测试-信息收集- WAF、框架组件识别(1)
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:60.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露(8) WAF的识…...
qmt量化交易策略小白学习笔记第45期【qmt编程之期货行情数据--如何获取日线行情、tick行情】
qmt编程之获取期货行情数据 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系! 获取日线行情数…...
c#default 运算符
值类型默认值boolfalsebyte0char‘\0’decimal0.0Mdouble0.0Denum表达式 (E)0 产生的值,其中 E 为 enum 标识符。float0.0Fint0long0Lsbyte0short0struct将所有的值类型字段设置为默认值并将所有的引用类型字段设置为 null 时产生的值。uint0ulong0ushort0引用类型n…...
25计算机考研,这所985有机会!
吉林大学的计算机学科评估是A-,软件是B 实力还是很强的! 考研的专科课代码分别是941和966 其实就是自命题,941是四合一:数据结构,计算机组成与设计,操作系统和计算机网络,这个和408统考的科目…...
SQL 基础入门教程
目录 什么是 SQL? SQL 的基本操作 数据库的创建和删除 表的创建和删除 数据的插入 数据的查询 数据的更新 数据的删除 SQL 的高级操作 表的连接 聚合函数 分组和排序 子查询 视图 索引 SQL 的数据完整性和约束 总结 SQL(Structured Que…...
<Python><paddleocr>基于python使用百度paddleocr实现图片文字识别与替换
前言 本文是使用百度的开源库paddleocr来实现对图片文字的识别,准确度还不错,对图片文字的替换,则利用opencv来完成。 环境配置 系统:windows 平台:visual studio code 语言:python 库:paddleocr、opencv、pyqt5 依赖库安装 本例所需要的库可以直接用pip来安装。 安装…...
小程序开发的费用简介篇
小程序的价格跟很多因素有关系,比如你想要的复杂度、功能多不多等等 今天我就来具体说说开发一款APP/小程序到底需要多少 ❶功能复杂度:功能越多越复杂,开发时间和费用就越高,费用就会高 ❷设计要求:高级的…...
torch.unflod与torch.nn.functional.pad用法
PyTorch 中的两个函数:torch.unfold 和 torch.nn.unfold。它们分别用于不同的目的,让我们分别来理解一下: torch.nn.Unfold 类功能: 类似于函数 torch.unfold,torch.nn.Unfold 类也用于沿着指定维度滑动提取窗口并将每个窗口展平。与函数不同的是,torch.nn.Unfold 是一个…...
江苏 服务器性能监控包含哪些方面?
服务器的性能监控主要是为了确保服务器能够正常运行工作和性能优化的重要手段,接下来就来看一下服务器性能监控所包含的内容有哪些吧! 首先对于服务器的系统资源进行一定的监控,CPU作为服务器的核心组件之一,所以我们要监控CPU的使…...
卓越的 App UI 风格引领潮流
卓越的 App UI 风格引领潮流...
BirdTalk IM集群中消息流转策略讨论
BirdTalk IM集群中消息流转策略讨论 目前群聊的存储策略是1写多读方案;每个群组一个队列,按时间顺序排列,不区分用户; 私聊的存储是写扩散的,每个人都有自己的消息队列,按时间顺序 保存所有的消息&#x…...
重磅!2024年最新影响因子正式发布,附Excel下载
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 激动人心的时刻终于来了,2024年影响因子已全面发布!废话不多说,大家一起来看看最新的发布的结果吧! 神刊:CA-A CANCER JOURNA…...
【会议征稿】2024年应用计算智能、信息学与大数据国际会议(ACIIBD 2024,7月26-28)
2024年应用计算智能、信息学与大数据国际学术会议(ACIIBD 2024)将于2024年7月26-28日在中国广州举办。会议将聚焦于计算智能及其应用、信息、大数据等相关的研究领域, 广泛邀请国内外知名专家学者,共同探讨相关学科领域的最新发展…...
【代码发布】Quantlab4.3:lightGBM应用于全球大类资产的多因子智能策略(代码+数据)
原创文章第566篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 昨天,Quantlab整合Alpha158因子集,为机器学习大类资产配置策略做准备(代码数据),我们完成了因子集构建,并尝试…...
【毕业设计】Django 校园二手交易平台(有源码+mysql数据)
此项目有完整实现源码,有需要请联系博主 Django 校园二手交易平台开发项目 项目选择动机 本项目旨在开发一个基于Django的校园二手交易平台,为大学生提供一个安全便捷的二手物品买卖平台。该平台将提供用户注册和认证、物品发布和搜索、交易信息管理等…...
文章自动生成器,在线AI写作工具
随着人工智能AI技术的发展,AI技术被应用到越来越多的场景。对于需要创作内容的同学来说,AI写作-文章内容自动生成器是一个非常好的辅助工具。AI写作工具可以提升我们的创作效率,快速的生成文章,然后在根据需求进行调整修改即可。下…...
Matlab初识:什么是Matlab?它的历史、发展和应用领域
目录 一、什么是Matlab? 二、Matlab的历史与发展 三、Matlab的应用领域 四、安装和启动Matlab 五、界面介绍 六、第一个Matlab程序 七、总结 一、什么是Matlab? Matlab 是由 MathWorks 公司开发的一款用于数值计算、可视化以及编程的高级技术计算…...
大模型之-Seq2Seq介绍
大模型之-Seq2Seq介绍 1. Seq2Seq 模型概述 Seq2Seq(Sequence to Sequence)模型是一种用于处理序列数据的深度学习模型,常用于机器翻译、文本摘要和对话系统等任务。它的核心思想是将一个输入序列转换成一个输出序列。 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、知识点 命令执行,tee命令 3、思路…...
经营性网站备案 上海/seo推广优化平台
使用Spreadsheet_Excel_Reader类,同时中文方面的问题是方法如下(Spreadsheet_Excel_Reader自带的例子,稍作修改): <?php require_once Excel/reader.php; $data new Spreadsheet_Excel_Reader(); $data->setOu…...
如果做自己的网站/国际最新消息
VNode Vue中使用VNode类型保存virtual dom,对应Vue源码中/* src/core/vdom/vnode.js */文件定义。通过一系列的属性间的搭配可以描述不同的节点类型 this.tag tag /* el标签名 */this.data data /* 存储特性信息 */this.children children /*当前节点的子节点…...
小型企业网站开发价格/企业推广平台有哪些
喜欢美丽秀发可以说女生的一种天性,使用智能温控的直发器更是省心省力。单片机方案推出了一款直发器开发方案,主控芯片使用FS2711C,该方案具有升温速度快、LCD屏幕显示、温度控制、恒温发热等特点。 一、直发器开发方案原理 直发器…...
开县集团网站建设/bt兔子磁力搜索
给一个长度为n的数组,数组内有一个数字出现的次数超过了数组长度的一半,请找出这个数字 eg:[1,2,3,2,2,2,5,4,2] 2在数组中出现了5次,超过数组长度一半,输出2 eg:[1],输出1 public int MoreThanHalfNum_Solution(int [] array) {…...
进口b2b贸易平台/discuz论坛seo设置
背景去年客户对部署的产品漏扫时,发现产品的应用系统存在 DDOS 缓慢攻击、拒绝服务的风险:专业渗透测试人员通过一台配置特别低的机器,不停地缓慢发送请求,最终导致该应用系统无法提供正常的服务。当时对该漏洞的解决办法是这样的…...
柳州网站建设 来宾市网站制作/企业seo的措施有哪些
我的环境:Ubuntu16.04 Ptyhon3.7.5 之前写过CentOS系统安装Python,本以为Ubuntu下和CentOS下安装步骤差不多,没想到不太一样,所以更新一篇Ubuntu下安装Python3.7的文章。 查看python的指向: ls -l /usr/bin | grep…...