统信UOS 1060上通过Fail2Ban来Ban IP

2023-10-14 12:36
文章标签 ip 1060 统信 uos fail2ban ban

本文主要是介绍统信UOS 1060上通过Fail2Ban来Ban IP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文链接:统信UOS 1060上通过Fail2Ban来Ban IP
hello,大家好啊,今天给大家带来一篇在统信UOS 1060上安装Fail2Ban并且当ip被ban后通过邮件发送通知的文章。Fail2Ban 是一个用于防止暴力攻击的开源软件。它可以扫描日志文件(例如,SSH或Web服务器日志文件)以查找IP地址,这些IP地址在定义的时间段内显示了太多的失败登录尝试,并在防火墙规则中封锁它们(通常使用iptables)。Fail2Ban通常用于防止各种类型的暴力攻击,例如SSH暴力攻击、邮件服务器攻击等。

1、查看系统版本信息

pdsyw@pdsyw-PC:~/Desktop$ uname -a
Linux pdsyw-PC 4.19.0-arm64-desktop #6030 SMP Tue Jun 27 15:28:10 CST 2023 aarch64 GNU/Linux
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ cat /etc/os-version 
[Version] 
SystemName=UOS Desktop
SystemName[zh_CN]=统信桌面操作系统
ProductType=Desktop
ProductType[zh_CN]=桌面
EditionName=Professional
EditionName[zh_CN]=专业版
MajorVersion=20
MinorVersion=1060
OsBuild=11014.100.100
pdsyw@pdsyw-PC:~/Desktop$

image.png

2、配置fail2ban----安装fail2ban软件

pdsyw@pdsyw-PC:~/Desktop$ sudo apt update
请输入密码:
验证成功
命中:1 https://cdn-professional-security.chinauos.com eagle/1060 InRelease                                   
命中:2 https://pro-driver-packages.uniontech.com eagle InRelease                                             
命中:3 https://professional-packages.chinauos.com/desktop-professional eagle InRelease                       
命中:4 https://professional-packages.chinauos.com/printer eagle InRelease                                    
命中:5 https://app-store-files.uniontech.com/231013140032791/appstore eagle-pro InRelease
正在读取软件包列表... 完成                                      
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有 156 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
pdsyw@pdsyw-PC:~/Desktop$ sudo apt install fail2ban -y
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:libutempter0 squashfs-tools x11-apps x11-session-utils xbitmaps xinit
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:python3-pyinotify python3-systemd whois
建议安装:mailx monit python-pyinotify-doc
下列【新】软件包将被安装:fail2ban python3-pyinotify python3-systemd whois
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 156 个软件包未被升级。
需要下载 522 kB 的归档。
解压缩后会消耗 2,550 kB 的额外空间。
获取:1 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 fail2ban all 0.10.2-2.1 [385 kB]
获取:2 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 python3-pyinotify all 0.9.6-1 [26.9 kB]
获取:3 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 python3-systemd arm64 234-2+b1 [34.9 kB]
获取:4 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 whois arm64 5.4.3 [75.6 kB]
已下载 522 kB,耗时 1(351 kB/s)
正在选中未选择的软件包 fail2ban。
(正在读取数据库 ... 系统当前共安装有 198268 个文件和目录。)
准备解压 .../fail2ban_0.10.2-2.1_all.deb  ...
正在解压 fail2ban (0.10.2-2.1) ...
/var/cache/apt/archives/fail2ban_0.10.2-2.1_all.deb
正在选中未选择的软件包 python3-pyinotify。
准备解压 .../python3-pyinotify_0.9.6-1_all.deb  ...
正在解压 python3-pyinotify (0.9.6-1) ...
/var/cache/apt/archives/python3-pyinotify_0.9.6-1_all.deb
正在选中未选择的软件包 python3-systemd。
准备解压 .../python3-systemd_234-2+b1_arm64.deb  ...
正在解压 python3-systemd (234-2+b1) ...
/var/cache/apt/archives/python3-systemd_234-2+b1_arm64.deb
正在选中未选择的软件包 whois。
准备解压 .../archives/whois_5.4.3_arm64.deb  ...
正在解压 whois (5.4.3) ...
/var/cache/apt/archives/whois_5.4.3_arm64.deb
正在设置 whois (5.4.3) ...
正在设置 fail2ban (0.10.2-2.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/fail2ban.service → /lib/systemd/system/fail2ban.service.
[fail2ban-tmpfiles.conf:1] Line references path below legacy directory /var/run/, updating /var/run/fail2ban → /run/fail2ban; please update the tmpfiles.d/ drop-in file accordingly.
正在设置 python3-pyinotify (0.9.6-1) ...
正在设置 python3-systemd (234-2+b1) ...
正在处理用于 man-db (2.8.5-2) 的触发器 ...
正在处理用于 systemd (241.52-deepin1) 的触发器 ...
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

3、配置fail2ban----启动fail2ban软件

pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl start fail2ban
pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl status fail2ban
● fail2ban.service - Fail2Ban ServiceLoaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2023-10-13 20:27:45 CST; 5s agoDocs: man:fail2ban(1)Main PID: 6528 (fail2ban-server)Tasks: 3 (limit: 4915)Memory: 11.1MCGroup: /system.slice/fail2ban.service└─6528 /usr/bin/python3 /usr/bin/fail2ban-server -xf start1013 20:27:45 pdsyw-PC systemd[1]: Starting Fail2Ban Service...
1013 20:27:45 pdsyw-PC systemd[1]: Started Fail2Ban Service.
1013 20:27:45 pdsyw-PC fail2ban-server[6528]: Server ready
1013 20:27:45 pdsyw-PC systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below 
1013 20:27:45 pdsyw-PC systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below 
1013 20:27:45 pdsyw-PC systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below 
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

4、配置fail2ban----编辑/etc/fail2ban/jail.local文件

[sshd]: 这是一个节(section),它定义了一个名为sshd的监狱(jail)。监狱是Fail2Ban中的一个概念,用于定义一组规则,以确定何时应该封禁IP地址。
enabled = true: 这表示sshd监狱已启用。
port = ssh: 这指定了Fail2Ban应该监视的端口,这里是SSH的默认端口。
action = msmtp-whois-lines[name=SSHD, dest=1111@163.com, sender=1111@qq.com]: 这定义了当IP被封禁时要执行的动作。这里,msmtp-whois-lines动作被配置为发送包含封禁IP的whois信息的电子邮件。邮件的主题名为SSHD,收件人地址为1111@163.com,发件人地址为1111@qq.com。
logpath = %(sshd_log)s: 这指定了Fail2Ban应该监视的日志文件的路径。%(sshd_log)s是一个预定义的变量,通常指向SSH守护进程的日志文件。
maxretry = 5: 这定义了在Fail2Ban触发封禁之前允许的失败尝试次数。
bantime = 600: 这定义了封禁的持续时间(以秒为单位)。这里,600秒等于10分钟。
pdsyw@pdsyw-PC:~/Desktop$ sudo vi /etc/fail2ban/jail.local 
pdsyw@pdsyw-PC:~/Desktop$ cat /etc/fail2ban/jail.local 
[sshd]
enabled = true
port = ssh
action = msmtp-whois-lines[name=SSHD, dest=1111@163.com, sender=1111@qq.com]
logpath = %(sshd_log)s
maxretry = 5
bantime = 600
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

5、配置邮件通知----安装msmtp msmtp-mta软件

pdsyw@pdsyw-PC:~/Desktop$ sudo apt-get install msmtp msmtp-mta
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:libutempter0 squashfs-tools x11-apps x11-session-utils xbitmaps xinit
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:libgsasl7 libntlm0
下列【新】软件包将被安装:libgsasl7 libntlm0 msmtp msmtp-mta
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 156 个软件包未被升级。
需要下载 373 kB 的归档。
解压缩后会消耗 1,179 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 libntlm0 arm64 1.5-1+deb10u1+rebuild [23.6 kB]
获取:2 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 libgsasl7 arm64 1.8.0-8+b2 [198 kB]
获取:3 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 msmtp arm64 1.8.3-1 [133 kB]
获取:4 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 msmtp-mta arm64 1.8.3-1 [18.8 kB]
已下载 373 kB,耗时 1(403 kB/s)
正在预设定软件包 ...
正在选中未选择的软件包 libntlm0:arm64。
(正在读取数据库 ... 系统当前共安装有 198747 个文件和目录。)
准备解压 .../libntlm0_1.5-1+deb10u1+rebuild_arm64.deb  ...
正在解压 libntlm0:arm64 (1.5-1+deb10u1+rebuild) ...
/var/cache/apt/archives/libntlm0_1.5-1+deb10u1+rebuild_arm64.deb
正在选中未选择的软件包 libgsasl7。
准备解压 .../libgsasl7_1.8.0-8+b2_arm64.deb  ...
正在解压 libgsasl7 (1.8.0-8+b2) ...
/var/cache/apt/archives/libgsasl7_1.8.0-8+b2_arm64.deb
正在选中未选择的软件包 msmtp。
准备解压 .../msmtp_1.8.3-1_arm64.deb  ...
正在解压 msmtp (1.8.3-1) ...
/var/cache/apt/archives/msmtp_1.8.3-1_arm64.deb
正在选中未选择的软件包 msmtp-mta。
准备解压 .../msmtp-mta_1.8.3-1_arm64.deb  ...
正在解压 msmtp-mta (1.8.3-1) ...
/var/cache/apt/archives/msmtp-mta_1.8.3-1_arm64.deb
正在设置 libntlm0:arm64 (1.5-1+deb10u1+rebuild) ...
正在设置 libgsasl7 (1.8.0-8+b2) ...
正在设置 msmtp (1.8.3-1) ...
正在设置 msmtp-mta (1.8.3-1) ...
msmtpd.service is a disabled or a static unit, not starting it.
正在处理用于 man-db (2.8.5-2) 的触发器 ...
正在处理用于 libc-bin (2.28.23-deepin1) 的触发器 ...
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

6、配置邮件通知----编辑/etc/msmtprc文件

defaults: 这一行开始定义默认设置区块。auth on: 启用SMTP认证。tls on: 启用TLS/SSL加密。tls_trust_file /etc/ssl/certs/ca-certificates.crt: 指定CA证书的位置,用于验证远程服务器的证书。logfile /var/log/msmtp.log: 指定msmtp的日志文件位置。account qqmail: 定义一个名为qqmail的账户设置区块。host smtp.qq.com: 设置SMTP服务器的地址。port 587: 设置SMTP服务器的端口。from 1111@qq.com: 设置发件人地址。auth login: 设置SMTP认证类型。user 1111@qq.com: 设置SMTP用户名。password [YourAppPassword]: 设置SMTP密码。这里的[YourAppPassword]应该被替换为实际的应用密码。account default : qqmail: 设置qqmail账户为默认账户。
pdsyw@pdsyw-PC:~/Desktop$ sudo vi /etc/msmtprc
pdsyw@pdsyw-PC:~/Desktop$ sudo cat /etc/msmtprc
defaults
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        /var/log/msmtp.logaccount        qqmail
host           smtp.qq.com
port           587
from           1111@qq.com
auth           login
user           1111@qq.com
password       [YourAppPassword]account default : qqmailpdsyw@pdsyw-PC:~/Desktop$ 

image.png

7、配置邮件通知----确保日志可由msmtp写入

pdsyw@pdsyw-PC:~/Desktop$ sudo touch /var/log/msmtp.log
pdsyw@pdsyw-PC:~/Desktop$ sudo chown pdsyw:mail /var/log/msmtp.log
pdsyw@pdsyw-PC:~/Desktop$ sudo chmod 660 /var/log/msmtp.log
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

8、配置fail2ban----使用 msmtp

pdsyw@pdsyw-PC:~/Desktop$ sudo vi /etc/fail2ban/action.d/msmtp-whois-lines.conf
pdsyw@pdsyw-PC:~/Desktop$ cat /etc/fail2ban/action.d/msmtp-whois-lines.conf
[INCLUDES]before = sendmail-common.confhelpers-common.conf[Definition]actionban = ( printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostname>Date: `LC_ALL=C date +"%%a, %%d %%h %%Y %%T %%z"`From: <sendername> <<sender>>To: <dest>\nHi,\nThe IP <ip> has just been banned by Fail2Ban after<failures> attempts against <name>.\n\nHere is more information about <ip> :\n`/usr/bin/whois <ip> || echo missing whois program`\n\nLines containing failures of <ip>\n";%(_grep_logs)s;printf %%b "\nRegards,\nFail2Ban" ) | msmtp -t[Init]name = default
logpath = /dev/nullpdsyw@pdsyw-PC:~/Desktop$ 

image.png

9、启动和测试 Fail2Ban

pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl start fail2ban
pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
pdsyw@pdsyw-PC:~/Desktop$ fail2ban-client -t
OK: configuration test is successful
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

10、监控 Fail2Ban 日志以确保 IP 地址被正确地封禁和解封

pdsyw@pdsyw-PC:~/Desktop$ sudo tail -f /var/log/fail2ban.log
2023-10-13 20:27:45,337 fail2ban.jail           [6528]: INFO    Jail 'sshd' uses pyinotify {}
2023-10-13 20:27:45,339 fail2ban.jail           [6528]: INFO    Initiated 'pyinotify' backend
2023-10-13 20:27:45,340 fail2ban.filter         [6528]: INFO      maxLines: 1
2023-10-13 20:27:45,348 fail2ban.server         [6528]: INFO    Jail sshd is not a JournalFilter instance
2023-10-13 20:27:45,349 fail2ban.filter         [6528]: INFO    Added logfile: '/var/log/auth.log' (pos = 25779, hash = d7fb092461318336103edd3a46d20259fe580f33)
2023-10-13 20:27:45,350 fail2ban.filter         [6528]: INFO      encoding: UTF-8
2023-10-13 20:27:45,350 fail2ban.filter         [6528]: INFO      maxRetry: 5
2023-10-13 20:27:45,350 fail2ban.filter         [6528]: INFO      findtime: 600
2023-10-13 20:27:45,350 fail2ban.actions        [6528]: INFO      banTime: 600
2023-10-13 20:27:45,351 fail2ban.jail           [6528]: INFO    Jail 'sshd' started

image.png

11、启动ssh服务

pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl enable ssh --now
Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable ssh
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

12、通过另一个终端ssh连接测试,5次输错密码后无法连接

uos@uos-PC:~/Desktop$ ssh pdsyw@10.211.55.48
pdsyw@10.211.55.48's password: 
Permission denied, please try again.
pdsyw@10.211.55.48's password: 
Permission denied, please try again.
pdsyw@10.211.55.48's password: 
pdsyw@10.211.55.48: Permission denied (publickey,password).
uos@uos-PC:~/Desktop$ ssh pdsyw@10.211.55.48
pdsyw@10.211.55.48's password: 
Permission denied, please try again.
pdsyw@10.211.55.48's password: 
Permission denied, please try again.
pdsyw@10.211.55.48's password: 
pdsyw@10.211.55.48: Permission denied (publickey).
uos@uos-PC:~/Desktop$ ssh pdsyw@10.211.55.48
pdsyw@10.211.55.48's password: 
pdsyw@10.211.55.48: Permission denied (publickey).
uos@uos-PC:~/Desktop$ 

image.png

13、通过监控 Fail2Ban 日志发现10.211.55.13被ban

pdsyw@pdsyw-PC:~/Desktop$ sudo tail -f /var/log/fail2ban.log
2023-10-13 21:00:14,456 fail2ban.filter         [14138]: INFO    [sshd] Found 10.211.55.13 - 2023-10-13 21:00:14
2023-10-13 21:00:19,071 fail2ban.filter         [14138]: INFO    [sshd] Found 10.211.55.13 - 2023-10-13 21:00:18
2023-10-13 21:00:20,673 fail2ban.filter         [14138]: INFO    [sshd] Found 10.211.55.13 - 2023-10-13 21:00:20
2023-10-13 21:00:20,687 fail2ban.actions        [14138]: NOTICE  [sshd] Ban 10.211.55.13
2023-10-13 21:00:24,346 fail2ban.filter         [14138]: INFO    [sshd] Found 10.211.55.13 - 2023-10-13 21:00:24
2023-10-13 21:00:28,819 fail2ban.filter         [14138]: INFO    [sshd] Found 10.211.55.13 - 2023-10-13 21:00:28
2023-10-13 21:00:31,528 fail2ban.filter         [14138]: INFO    [sshd] Found 10.211.55.13 - 2023-10-13 21:00:31
2023-10-13 21:00:33,272 fail2ban.filter         [14138]: INFO    [sshd] Found 10.211.55.13 - 2023-10-13 21:00:33
2023-10-13 21:00:34,062 fail2ban.filter         [14138]: INFO    [sshd] Found 10.211.55.13 - 2023-10-13 21:00:34
2023-10-13 21:00:34,359 fail2ban.actions        [14138]: NOTICE  [sshd] 10.211.55.13 already banned

image.png

14、进一步检查 sshd 监狱的状态和被封锁的 IP 地址

pdsyw@pdsyw-PC:~/Desktop$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     10
|  `- File list:        /var/log/auth.log
`- Actions|- Currently banned: 1|- Total banned:     1`- Banned IP list:   10.211.55.13
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

15、邮箱查收到ip被ban的邮件
image.png

16、使用命令永久解封IP 地址

pdsyw@pdsyw-PC:~/Desktop$ sudo fail2ban-client set sshd unbanip 10.211.55.13
10.211.55.13
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     15
|  `- File list:        /var/log/auth.log
`- Actions|- Currently banned: 0|- Total banned:     1`- Banned IP list:
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

17、通过被解封的终端测试ssh,连接成功

uos@uos-PC:~/Desktop$ ssh pdsyw@10.211.55.48
pdsyw@10.211.55.48's password: 
验证成功
Welcome to UnionTech OS Desktop 20 Professionalhomepage:https://www.chinauos.com/bugreport:https://bbs.chinauos.com/
pdsyw@pdsyw-PC:~$ 

image.png

这篇关于统信UOS 1060上通过Fail2Ban来Ban IP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/210554

相关文章

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

linux下查看自己的外网ip

局域网的服务器是通过ADSL路由器连接外网的,但ADSL是从ISP运营商那儿通过动态获得IP的,那么我怎么知道自己的外网地址是多少呢? 今天得到几个办法: curl -s http://whatismyip.org wget http://whatismyip.org 然后再  cat index.html 也可以看到

linux下TCP/IP实现简单聊天程序

可以在同一台电脑上运行,在一个终端上运行服务器端,在一个终端上运行客户端。 服务器端的IP地址要和本地的IP相同,并分配端口号,客户端的默认设置为本地,端口号自动分配。 服务器端: #include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/types.

超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。

阿里提出UniPortrait,能根据用户提供的文本描述,快速生成既忠实于原图又能灵活调整的个性化人像,用户甚至可以通过简单的句子来描述多个不同的人物,而不需要一一指定每个人的位置。这种设计大大简化了用户的操作,提升了个性化生成的效率和效果。 UniPortrait以统一的方式定制单 ID 和多 ID 图像,提供高保真身份保存、广泛的面部可编辑性、自由格式的文本描述,并且无需预先确定的布局。

C# 如何同时Ping多个IP地址

在C#中,如果需要同时ping多个IP地址,可以采用多线程或异步编程的方式来实现,以便可以同时进行多个ping操作。以下是两种常用的方法: 方法一:使用多线程(Task 或 Thread) 使用Task是更现代和推荐的方式,因为它内置了更好的线程管理和异常处理机制。以下是一个使用Task的示例,展示如何同时ping多个IP地址: using System; using System.Co

JAVAEE初阶第七节(中)——物理原理与TCP_IP

系列文章目录 JAVAEE初阶第七节(中)——物理原理与TCP_IP 文章目录 系列文章目录JAVAEE初阶第七节(中)——物理原理与TCP_IP 一.应用层重点协议)1. DNS2 .NAT3. NAT IP转换过程 4 .NAPT5. NAT技术的缺陷6. HTTP/HTTPS7. 自定义协议 二. 传输层重点协议 1 .UDP协议 2.1.1 UDP协议端格式 2.1.2 UD

一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性

在当今数字化时代,‌IP地址作为网络世界中的“门牌号”,‌扮演着至关重要的角色。‌它负责在网络上唯一标识每一台设备,‌使得数据能够在庞大的互联网中准确无误地传输。‌然而,‌对于IP地址与电脑之间的对应关系,‌许多人可能存有疑惑:‌一台电脑是否必须对应一个IP地址?‌两台电脑又是否可以共用一个IP地址呢?‌本文将深入探讨这些问题,‌带您一窥IP地址背后的奥秘。‌ 一台电脑对应一个IP地址吗?‌

网络层 VII(IP多播、移动IP)【★★★★★★】

一、IP 多播 1. 多播的概念 多播是让源主机一次发送的单个分组可以抵达用一个组地址标识的若干目的主机,即一对多的通信。在互联网上进行的多播,称为 IP 多播(multicast , 以前曾译为组播)。 与单播相比,在一对多的通信中,多播可大大节约网络资源。假设视频服务器向 90 台主机传送同样的视频节目,单播与多播的比较如下图所示。 下图(a)是视频服务器用单播方式向 90 台主机传

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II 1.题目 1.1复原IP地址 题目链接:93. 复原 IP 地址 - 力扣(LeetCode) 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0093.%E5%A4%8

通过RTCPeerConnection接口来获取用户的IP地址

该方法在chrome78以上不再适用,想要获取真实IP可以通过后端获取,如果中间有nginx或者其他负载均衡会对真实IP隐藏的话,可以配置http的x-forwarded-for参数,具体请参考相关文章 RTCPeerConnection接口相当于一个由本地计算机到远端的WebRTC连接,接口提供了创建,保持,关闭连接的方法。 RTCPeerConnection.onicecandidat