2021年10月

如何使用 Java 开发工具包中的 Java 监控和管理控制台。

Java 开发工具包(JDK)提供了开发 Java 应用程序的二进制文件、工具和编译器。其中一个有用的工具是 jconsole

为了演示,我将使用 WildFly J2EE 应用服务器,它是 JBOSS 开源应用服务器项目的一部分。首先,我启动了一个独立的实例。

~/wildfly/24.0.1/bin$ ./standalone.sh
=========================================================================
  JBoss Bootstrap Environment
  JBOSS_HOME: /home/alan/wildfly/24.0.1
  JAVA: /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-5.fc34.x86_64/bin/java

现在,在另一个终端,输入 jconsole

$ jconsole

启动后,jconsole 会列出本地实例。选择“ 本地进程 Local Process ”,然后选择进程的名称并点击“ 连接 Connect ”。这就是连接并开始使用运行中的 Java 虚拟机(JVM)的 jconsole 的全部过程。

 title=

概述

这个 Java 监控和管理控制台在仪表板的顶部显示进程标识符(PID)。“ 概述 Overview ”标签有四个图表,显示“ 堆内存使用情况 Heap Memory Usage ”、“ 线程 Threads ”、“ Classes ”和“ CPU 使用情况 CPU Usage ”的重要信息。

 title=

沿着顶部的标签提供每个区域的更详细的视图。

内存

内存 Memory ”标签显示 JVM 所使用的内存的各个方面的图表。分配给 JVM 的服务器系统内存量被称为“ Heap ”。这个屏幕还提供了关于堆的内部组件使用情况的详细信息,例如 “ 伊甸园 Eden Space ”、“ 老年代 Old Gen ” 和 “ 幸存者区 Survivor Space ”。你也可以手动请求一个垃圾收集动作。

 title=

线程

线程 Threads ”标签显示有多少线程在运行。你也可以手动检查是否存在死锁。

 title=

Classes ”标签告诉你有多少类被加载,有多少被卸载。

 title=

虚拟机摘要

虚拟机摘要 VM Summary ”标签提供了许多关于应用程序和主机系统的细节。你可以了解你所处的操作系统和架构、系统内存总量、CPU 数量,甚至交换空间。

 title=

摘要中显示的关于 JVM 的进一步细节,包括当前和最大的堆大小以及正在使用的垃圾收集器的信息。底部的窗格列出了传递给 JVM 的所有参数。

MBeans

最后一个标签,MBeans,让你通过所有的 MBeans 向下钻取,以查看每个 MBeans 的属性和值。

 title=

总结

Java 已经存在了很长时间,它将继续为全球数百万的系统提供动力。有很多开发环境和监控系统可以使用,但像 jconsole 这样的包含在基本工具包中的工具非常有价值。


via: https://opensource.com/article/21/10/monitor-java-linux-jconsole

作者:Alan Formy-Duval 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

微软允许第三方浏览器在其商店上架

随着 Windows 11 的推出,微软商店也进行了彻底重构,其中最大的变化之一是微软解除了一些限制。微软已经改变了 关于浏览器引擎的政策,允许浏览器使用自己的引擎在微软商店发布。Mozilla 对这一变化表示赞赏,并说 Firefox 将在今年年底前在微软商店中提供。其他大型浏览器也有可能在微软商店上线,虽然 Google 还没有对此发表看法。此外,微软不再阻止第三方商店在微软商店中上市,所以像 Epic 游戏商店这样的“店中店”也可以下载了。

老王点评:微软是越来越开放了,与之形成鲜明对比是水果铺子了。

Canonical 推出适用于嵌入式显示器的 Ubuntu Frame

这款新产品旨在为开发者提供一种方法,使其能够轻松地在信息亭等嵌入式显示器上构建和部署应用程序。据该公司称, Ubuntu Frame 意味着开发者不需要集成和维护部分解决方案,如 DRM、KMS、输入协议或安全策略。Ubuntu Frame 与 Flutter、Qt、GTK、Electron 和 SDL2 等工具包兼容,它还为基于 HTML5 和 Java 等的应用程序提供了解决方案。Canonical 称,“它的可靠性已经在现场得到了广泛的测试,相关技术已经开发了 7 年多。”为确保设备在其整个生命周期内得到支持,Ubuntu Frame 将被支持 10 年。

老王点评:相比其手机版本,我觉得这种瞄准信息亭的解决方案更有前景。

微软官方提供绕过 TPM 检查安装 Windows 11 的方法

为了避免人们通过使用非标准化的第三方脚本来破坏他们的系统,微软发布了一个 新的支持网页,提供了一个官方方法来绕过 TPM 2.0 和 CPU 检查。但微软一再提醒,在不支持的硬件上安装 Windows 11 伴随着一些隐患。这一方法至少需要 TPM 1.2,但是如果你连这个都没有,还是需要一个第三方的方法来 绕过所有 TPM 检查

老王点评:强制限制硬件这种做法并不好,如果因为缺乏某些硬件,导致功能和安全性降级,用户应该有自行承担的决定权。

谷歌浏览器可能不是 Linux 用户的最佳浏览器。在这里,我们探讨了 Linux 平台的其他潜在选择。

想摆脱谷歌?想为你的 Linux 系统寻找可能比谷歌浏览器(和类似的)更好的浏览器?

幸运的是,有多个谷歌浏览器的替代品,你可以试试。

它们中的每一个都带来了一些有趣的东西,同时也保持了 Chrome 所特有的奇妙兼容性。请继续阅读,了解这些浏览器的更多信息。

比谷歌浏览器更好的选择

注:虽然 自由和开源软件在取代科技巨头方面扮演着关键角色,但除了谷歌浏览器之外,Linux 上的任何选择都是一个好的开始。因此,你也会发现一些非 FOSS 的选择。

在我看来,Chrome 的最佳替代品是基于 Chromium 的浏览器,这意味着它们与 Chrome 共享相同的基因。这样做的好处是,它们已经拥有与 Chrome 相同的功能,同时有更多时间来增加自己的功能。

另外,如果你愿意,你可以了解一下不基于 Chromium 的 Chrome 开源替代品

无论如何,即使谷歌浏览器的替代品对你来说并不优越,也值得尝试远离科技巨头。

我们收集了一些在各方面与 Chrome 相当或更好的浏览器。闲话少说,以下是我挑选的五款比 Chrome 本身更好的类似 Chrome 的浏览器:

  • UnGoogled Chromium
  • Brave
  • Edge
  • Vivaldi
  • Opera

这份名单没有排名顺序。

1、UnGoogled Chromium

特点:

  • 移除针对谷歌域名的功能
  • 在运行时阻止对 Google 的内部请求
  • 从源代码中剥离谷歌的二进制文件
  • 许多新的命令行开关和 chrome://flags 条目
  • 强制所有弹出式窗口为标签

对于那些隐私爱好者来说,UnGoogled Chromium 浏览器将是一个天赐良机。虽然它可能看起来与 Chrome 相同,但它有许多隐私方面的调整。

顾名思义,对于 Chrome 浏览器的用户来说,最大的倒退将是没有谷歌的服务集成。但这也意味着不再有对谷歌的内部请求、谷歌网址跟踪等等。

它没有吹嘘任何非凡的东西来保护你的隐私,但它应该比谷歌浏览器更好。

你也可以选择通过 chrome://flags 设置来探索和切换隐私设置。

总而言之,UnGoogled Chromium 提供了一种熟悉的浏览体验,同时还加入了一套隐私功能。它是可靠的,而且还与 Chrome 扩展程序庞大的生态系统兼容。

2、Brave

特点:

  • 内置广告拦截器
  • 更快的页面加载时间
  • Brave 奖励计划
  • 能够在设备之间进行同步
  • 支持 Chrome Web 商店

Brave 在 2016 年首次登上舞台时,世界各地的人们都震惊于它的隐私和性能特点。在发布时,这包括了一个内置的广告屏蔽器和一个新的用户界面。

从那时起,该浏览器有了更多的功能,包括奖励计划和 Tor 整合。这使得它成为增长最快的浏览器之一。

3、Edge

特点:

  • 支持 Chrome Web 商店
  • 儿童浏览模式(额外的保护和更简单的用户界面)
  • 良好的 PDF 编辑工具
  • 内置优惠券搜索器
  • 阅读模式
  • 内置密码生成器

当微软 Edge 在 2015 年首次与 Windows 10 一起发布时,它因缓慢和有缺陷而被广泛批评。然而,在 2020 年初,它使用 Chromium Web 引擎完全重新制作了。

这也是 Chrome 浏览器所基于的引擎,这提供了现代和快速的浏览体验。这种转变的一个好处是 Web 浏览器能够在许多不同的平台上运行,从 Windows 7 和 macOS 到 Ubuntu 和其他基于 Linux 的发行版。

我知道,如果你因为某些原因讨厌微软,这可能不会吸引你 —— 但 Linux 版的微软 Edge 是谷歌 Chrome 浏览器的一个重要替代品。

4、Vivaldi

特点:

  • 内置翻译器
  • Vivaldi Email(Beta)
  • Feed 阅读器(Beta)
  • Vivaldi 日历(Beta)
  • 可高度定制的用户界面
  • 内置广告拦截器
  • 支持 Chrome Web 商店
  • 标签分组
  • 分屏标签

Vivaldi 于 2016 年首次发布,它在浏览器大战中迅速崛起。它最初是为对 Presto) 布局引擎 过渡不满的 Opera 用户设计的,它已经成功地重新实现了 Opera 过渡到 Chromium 期间失去的许多功能。

令人惊讶的是,它在基于 Chromium 的情况下还能做到这一点(正是 Opera 放弃这些功能的原因)。

最新的 Vivaldi 4.0 版本 也为高级用户提供了一些功能。

虽然它不是 100% 的自由软件,但其 93% 的源代码是可用的,只有用户界面是专有的。考虑到 Vivaldi 的开发团队积极关注着 Linux 用户的改进,Vivaldi 提供了大量的功能,这可能是一个值得权衡的结果。

5、Opera

特点:

  • 内置虚拟专用网络
  • 轻松访问社交媒体
  • 内置加密货币钱包
  • 欺诈和恶意软件保护
  • 高度可见的网站安全徽章

虽然 Opera 从未成为 Web 浏览器之王,但它一直存在于关于使用何种浏览器的争论中。它最初是基于其内部的 Presto 布局引擎的,在 2013 年切换到 Chromium。

不幸的是,这一转换意味着 Opera 团队被迫放弃了其最知名的一些功能,为 Vivaldi 和 Firefox 等替代品填补 Opera 留下的空间铺平道路。

这并不是说 Opera 缺乏功能,它包含了许多功能。

总结

在这里,我们列出了为 Linux 桌面平台上用户量身定做的浏览器。

无论你是想要更多的功能、更好的用户界面,还是想要帮助你摆脱谷歌的束缚,都有一个选择适合你。

由于所有这些浏览器都是基于 Chromium 的,它们都能像 Chrome 一样提供良好的兼容性和用户体验。因此,请切换到这些类似 Chrome 的浏览器中,享受它们各自赋予的自由吧。

2021 年,你最喜欢的 Linux 上谷歌浏览器的替代品是什么?请在下面的评论中告诉我。


via: https://news.itsfoss.com/chrome-like-browsers-2021/

作者:Jacob Crume 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

昨天,Facebook 发生了由 BGP 引起的离线事故。我对学习更多关于 BGP 的知识已经隐约感兴趣了很长时间,所以我阅读了一些文章。

我感到很沮丧,因为没有一篇文章告诉我如何在我的电脑上实际查找与 BGP 有关的信息,因此我 写了一条询问有关工具的推特

我一如既往地得到了一堆有用的回复,所以这篇博文展示了一些你可以用来查询 BGP 信息的工具。这篇文章中可能会有较多的错误,因为我对 BGP 不是很了解。

我不能发布 BGP 路由

我从来没有了解过 BGP 的原因之一是,据我所知,我没有在互联网上发布 BGP 路由的权限。

对于大多数网络协议,如果需要,你可以非常轻松地自己实现该协议。例如,你可以:

  • 发行你自己的 TLS 证书
  • 编写你自己的 HTTP 服务器
  • 编写你自己的 TCP 实现
  • 为你的域名编写你自己的权威 DNS 服务器(我现在正在为一个小项目尝试这样做)
  • 建立你自己的证书机构(CA)

但是对于 BGP,我认为除非你拥有自己的 ASN,否则你不能自己发布路由(你可以在你的家庭网络上实现 BGP,但这对我来说有点无聊,当我做实验的时候,我希望它们真的在真正的互联网上)。

无论如何,尽管我不能用它做实验,但我仍然认为它超级有趣,因为我喜欢网络,所以我将向你展示我找到的一些用来学习 BGP 的工具。

首先我们来谈谈 BGP 的一些术语。我打算很快掠过,因为我对工具更感兴趣,而且网上有很多关于 BGP 的高水平解释(比如这篇 cloudflare 的文章)。

AS 是什么?

我们首先需要了解的是 AS(“ 自治系统 autonomous system ”)。每个 AS:

  1. 由一个组织拥有(通常是一个大型组织,如你的 ISP、政府、大学、Facebook 等)。
  2. 控制一组特定的 IP 地址(例如,我的 ISP 的 AS 包括 247,808 个 IP 地址)。
  3. 有一个编号 ASN(如 1403)。

下面是我通过做一些实验对 AS 的一些观察:

  • 一些相当大的科技公司并没有自己的 AS。例如,我在 BGPView 上查看了 Patreon,就我所知,他们没有自己的 AS,他们的主要网站(patreon.com104.16.6.49)在 Cloudflare 的 AS 中。
  • 一个 AS 可以包括许多国家的 IP。Facebook 的 AS(AS32934)肯定有新加坡、加拿大、尼日利亚、肯尼亚、美国和其他国家的 IP 地址。
  • 似乎 IP 地址可以在一个以上的 AS 中。例如,如果我查找 209.216.230.240,它有 2 个 ASN 与之相关:AS6130AS21581。显然,当这种情况发生时,更具体的路线会被优先考虑 —— 所以到该 IP 的数据包会被路由到 AS21581

什么是 BGP 路由?

互联网上有很多的路由器。例如,我的 ISP 就有路由器。

当我给我的 ISP 发送一个数据包时(例如通过运行 ping 129.134.30.0),我的 ISP 的路由器需要弄清楚如何将我的数据包实际送到 IP 地址 129.134.30.0

路由器计算的方法是,它有一个路由表:这是个有一堆 IP 地址范围的列表(比如 129.134.30.0/23),以及它知道的到达该子网的路由。

下面是一个 129.134.30.0/23 (Facebook 的一个子网)的真实路由的例子。这不是来自我的 ISP。

11670 32934
  206.108.35.2 from 206.108.35.254 (206.108.35.254)
    Origin IGP, metric 0, valid, external
    Community: 3856:55000
    Last update: Mon Oct  4 21:17:33 2021

我认为这是在说通往 129.134.30.0 的一条路径是通过机器 206.108.35.2,这是在它的本地网络上。所以路由器接下来可能会把我的 ping 包发送到 206.108.35.2,然后 206.108.35.2 会知道如何把它送到 Facebook。开头的两个数字(11670 32934)是 ASN。

BGP 是什么?

我对 BGP 的理解非常浅薄,它是一个公司用来公布 BGP 路由的协议。

昨天发生在 Facebook 身上的事情基本上是他们发布了一个 BGP 公告,撤销了他们所有的 BGP 路由,所以世界上的每个路由器都删除了所有与 Facebook 有关的路由,没有流量可以到达那里。

好了,现在我们已经涵盖了一些基本的术语,让我们来谈谈你可以用来查看 AS 和 BGP 的工具吧!

工具 1:用 BGPView 查看你的 ISP 的 AS

为了使 AS 这个东西不那么抽象,让我们用一个叫做 BGPView的 工具来看看一个真实的 AS。

我的 ISP(EBOX)拥有 AS 1403。这是 我的 ISP 拥有的 IP 地址。如果我查找我的计算机的公共 IPv4 地址,我可以看到它是我的 ISP 拥有的IP地址之一:它在 104.163.128.0/17 块中。

BGPView 也有这个图,显示了我的 ISP 与其他 AS 的连接情况。

工具 2:traceroute -A 和 mtr -z

好了,我们感兴趣的是 AS 。让我们看看我从哪些 AS 中穿过。

traceroutemtr 都有选项可以告诉你每个 IP 的 ASN。其选项分别是 traceroute -Amtr -z

让我们看看我用 mtr 在去 facebook.com 的路上经过了哪些 AS!

$ mtr -z facebook.com
 1. AS???    LEDE.lan
 2. AS1403   104-163-190-1.qc.cable.ebox.net
 3. AS???    10.170.192.58
 4. AS1403   0.et-5-2-0.er1.mtl7.yul.ebox.ca
 5. AS1403   0.ae17.er2.mtl3.yul.ebox.ca
 6. AS1403   0.ae0.er1.151fw.yyz.ebox.ca
 7. AS???    facebook-a.ip4.torontointernetxchange.net
 8. AS32934  po103.psw01.yyz1.tfbnw.net
 9. AS32934  157.240.38.75
10. AS32934  edge-star-mini-shv-01-yyz1.facebook.com

这很有意思,看起来我们直接从我的 ISP 的 AS(1403)到 Facebook 的 AS(32934),中间有一个“互联网交换”。

我不确定 互联网交换 internet exchange (IX)是什么,但我知道它是互联网的一个极其重要的部分。不过这将是以后的事了。我猜是,它是互联网中实现“对等”的部分,就假设它是一个有巨大的交换机的机房,里面有无限的带宽,一堆不同的公司把他们的电脑放在里面,这样他们就可以互相发送数据包。

mtr 用 DNS 查找 ASN

我对 mtr 如何查找 ASN 感到好奇,所以我使用了 strace。我看到它看起来像是在使用 DNS,所以我运行了 dnspeep,然后就看到了!

$ sudo dnspeep
...
TXT   1.190.163.104.origin.asn.cymru.com 192.168.1.1          TXT: 1403 | 104.163.176.0/20 | CA | arin | 2014-08-14, TXT: 1403 | 104.163.160.0/19 | CA | arin | 2014-08-14, TXT: 1403 | 104.163.128.0/17 | CA | arin | 2014-08-14
...

所以,看起来我们可以通过查找 1.190.163.104.origin.asn.cymru.com 上的 txt 记录找到 104.163.190.1 的 ASN,像这样:

$ dig txt 1.190.163.104.origin.asn.cymru.com
1.190.163.104.origin.asn.cymru.com. 13911 IN TXT "1403 | 104.163.160.0/19 | CA | arin | 2014-08-14"
1.190.163.104.origin.asn.cymru.com. 13911 IN TXT "1403 | 104.163.128.0/17 | CA | arin | 2014-08-14"
1.190.163.104.origin.asn.cymru.com. 13911 IN TXT "1403 | 104.163.176.0/20 | CA | arin | 2014-08-14"

这很好!让我们继续前进吧。

工具 3:数据包交换所的观察镜

PCH(“ 数据包交换所 packet clearing house ”)是运行大量互联网交换点的组织。“ 观察镜 looking glass ”似乎是一个通用术语,指的是让你从另一个人的计算机上运行网络命令的 Web 表单。有一些观察镜不支持 BGP,但我只对那些能显示 BGP 路由信息的观察镜感兴趣。

这里是 PCH 的观察镜: https://www.pch.net/tools/looking_glass/

在该网站的 Web 表单中,我选择了多伦多 IX(“TORIX”),因为 mtr 说我是用它来访问 facebook.com 的。

操作 1:显示 ip bgp 摘要

下面是输出结果。我修改了其中的一些内容:

IPv4 Unicast Summary:
BGP router identifier 74.80.118.4, local AS number 3856 vrf-id 0
BGP table version 33061919
RIB entries 513241, using 90 MiB of memory
Peers 147, using 3003 KiB of memory
Peer groups 8, using 512 bytes of memory

Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd
...
206.108.34.248  4       1403  484672  466938        0    0    0 05w3d03h           50
...
206.108.35.2    4      32934  482088  466714        0    0    0 01w6d07h           38
206.108.35.3    4      32934  482019  466475        0    0    0 01w0d06h           38
...

Total number of neighbors 147

我的理解是,多伦多 IX(“TORIX”)直接连接到我的 ISP (EBOX,AS 1403)和 Facebook(AS 32934)。

操作 2:显示 ip bgp 129.134.30.0

这是筛选自 show ip bgp129.134.30.0(Facebook 的一个 IP 地址)的输出:

BGP routing table entry for 129.134.30.0/23
Paths: (4 available, best #4, table default)
  Advertised to non peer-group peers:
  206.220.231.55
  11670 32934
    206.108.35.2 from 206.108.35.254 (206.108.35.254)
      Origin IGP, metric 0, valid, external
      Community: 3856:55000
      Last update: Mon Oct  4 21:17:33 2021

  11670 32934
    206.108.35.2 from 206.108.35.253 (206.108.35.253)
      Origin IGP, metric 0, valid, external
      Community: 3856:55000
      Last update: Mon Oct  4 21:17:31 2021

  32934
    206.108.35.3 from 206.108.35.3 (157.240.58.225)
      Origin IGP, metric 0, valid, external, multipath
      Community: 3856:55000
      Last update: Mon Oct  4 21:17:27 2021

  32934
    206.108.35.2 from 206.108.35.2 (157.240.58.182)
      Origin IGP, metric 0, valid, external, multipath, best (Older Path)
      Community: 3856:55000
      Last update: Mon Oct  4 21:17:27 2021

这似乎是在说,从该 IX 到 Facebook 有 4 条路线。

魁北克 IX 似乎对 Facebook 一无所知

我也试过从魁北克 IX(“QIX”,它可能离我更近,因为我住在蒙特利尔而不是多伦多)做同样的事情。但 QIX 似乎对 Facebook 一无所知:当我输入129.134.30.0 时,它只是说 “% 网络不在表中”。

所以我想这就是为什么我被送到多伦多 IX 而不是魁北克的 IX。

更多的 BGP 观察镜

这里还有一些带观察镜的网站,可以从其他角度给你类似的信息。它们似乎都支持相同的 show ip bgp 语法,也许是因为他们运行的是同一个软件?我不太确定。

似乎有很多这样的观察镜服务,远不止这 3 个列表。

这里有一个与这个列表上的一个服务器进行会话的例子:route-views.routeviews.org。这次我是通过 telnet 连接的,而不是通过 Web 表单,但输出的格式看起来是一样的。

$ telnet route-views.routeviews.org

route-views>show ip bgp 31.13.80.36

BGP routing table entry for 31.13.80.0/24, version 1053404087
Paths: (23 available, best #2, table default)
  Not advertised to any peer
  Refresh Epoch 1
  3267 1299 32934
    194.85.40.15 from 194.85.40.15 (185.141.126.1)
      Origin IGP, metric 0, localpref 100, valid, external
      path 7FE0C3340190 RPKI State valid
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  6939 32934
    64.71.137.241 from 64.71.137.241 (216.218.252.164)
      Origin IGP, localpref 100, valid, external, best
      path 7FE135DB6500 RPKI State valid
      rx pathid: 0, tx pathid: 0x0
  Refresh Epoch 1
  701 174 32934
    137.39.3.55 from 137.39.3.55 (137.39.3.55)
      Origin IGP, localpref 100, valid, external
      path 7FE1604D3AF0 RPKI State valid
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  20912 3257 1299 32934
    212.66.96.126 from 212.66.96.126 (212.66.96.126)
      Origin IGP, localpref 100, valid, external
      Community: 3257:8095 3257:30622 3257:50001 3257:53900 3257:53904 20912:65004
      path 7FE1195AF140 RPKI State valid
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  7660 2516 1299 32934
    203.181.248.168 from 203.181.248.168 (203.181.248.168)
      Origin IGP, localpref 100, valid, external
      Community: 2516:1030 7660:9001
      path 7FE0D195E7D0 RPKI State valid
      rx pathid: 0, tx pathid: 0

这里有几个路由的选择:

  • 3267 1299 32934
  • 6939 32934
  • 701 174 32934
  • 20912 3257 1299 32934
  • 7660 2516 1299 32934

我想这些都有不止一个 AS 的原因是,31.13.80.36 是 Facebook 在多伦多的 IP 地址,所以这个服务器(可能在美国西海岸,我不确定)不能直接连接到它,它需要先到另一个 AS。所以所有的路由都有一个或多个 ASN。

最短的是 6939(“Hurricane Electric”),它是一个 “全球互联网骨干”。他们也有自己的 Hurricane Electric 观察镜 页面。

工具 4:BGPlay

到目前为止,所有其他的工具都只是向我们展示了 Facebook 路由的当前状态,其中一切正常,但这第四个工具让我们看到了这个 Facebook BGP 互联网灾难的历史。这是一个 GUI 工具,所以我将包括一堆屏幕截图。

该工具在 https://stat.ripe.net/special/bgplay。我输入了 IP 地址 129.134.30.12(Facebook 的一个 IP),如果你想一起试试。

首先,让我们看看一切出错之前的状态。我点击了在 10 月 4 日 13:11:28 的时间线,得到了这个结果:

我最初发现这很让人不知所措。发生了什么事?但后来有人在推特上指出,下一个要看的地方是点击 Facebook 灾难发生后的时间线(10 月 4 日 18 点 38 分)。

很明显,这张图有问题:所有的 BGP 路线都不见了!哦,不要!

顶部的文字显示了最后一条 Facebook BGP 路由的消失:

Type: W > withdrawal Involving: 129.134.30.0/24
Short description: The route 50869, 25091, 32934 has been withdrawn.
Date and time: 2021-10-04 16:02:33 Collected by: 20-91.206.53.12

如果我再点击“ 快进 fast forward ”按钮,我们看到 BGP 路由开始回来了。

第一个宣告的是 137409 32934。但我不认为这实际上是第一个宣布的,在同一秒内有很多路由宣告(在 2021-10-04 21:00:40),我认为 BGPlay 内部的排序是任意的。

如果我再次点击“ 快进 fast forward ”按钮,越来越多的路由开始回来,路由开始恢复正常。

我发现在 BGPlay 里看这个故障真的很有趣,尽管一开始界面很混乱。

也许了解一下 BGP 是很重要的?

我在这篇文章的开头说,你不能改变 BGP 路由,但后来我想起在 2016 年或 2017 年,有一个 Telia 路由问题,给我们的工作造成了一些小的网络问题。而当这种情况发生时,了解为什么你的客户无法到达你的网站其实是很有用的,即使它完全不受你控制。当时我不知道这些工具,但我希望能知道!

我认为对于大多数公司来说,应对由其他人的错误 BGP 路由造成的中断,你所能做的就是“什么都不做,等待它得到修复”,但能够\_自信地\_什么都不做是很好的。

一些发布 BGP 路由的方法

如果你想(作为一个业余爱好者)真正发布 BGP 路由,这里有一些评论中的链接:

  • 获取你自己的 ASN 的指南
  • dn42 似乎有一个 BGP 的实验场(它不在公共互联网上,但确实有其他人在上面,这似乎比自己在家里做 BGP 实验更有趣)

目前就这些了

我想还有很多 BGP 工具(比如 PCH 有一堆 路由数据的每日快照,看起来很有趣),但这篇文章已经很长了,而且我今天还有其他事情要做。

我对我作为一个普通人可以得到这么多关于 BGP 的信息感到惊讶,我一直认为它是一个“秘密的网络巫师”这样的东西,但显然有各种公共机器,任何人都可以直接 telnet 到它并用来查看路由表!没想到!


via: https://jvns.ca/blog/2021/10/05/tools-to-look-at-bgp-routes/

作者:Julia Evans 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

微软的 .NET 基金会受到辞职的前董事抨击

微软的 .NET 基金会是为了管理和支持开源的 .NET 和相关项目而设立的,但其作用受到了 一位前董事会成员的质疑,这位成员因沮丧而辞职。该成员认为,“基金会对社区的任何事情都不透明”,并质疑,“你们是来执行微软对 .NET 开源的意志,还是来帮助培养和促进一个健康的社区?对于后者来说,成绩看起来并不理想。”他对基金会提出的“成熟度模型”意见很大,“它看起来太微软的官僚主义,……更多关注的是监督和命令,而不是培养和帮助。”

老王点评:被单一官方支持的基金会,往往和社区主导的基金会的行为模式大相径庭。似乎我们确实没有感受到 .NET 基金会发挥的作用。

Firefox Focus 迎来重大更新

Firefox Focus 推出于 2016 年,是一个以隐私为重点的移动浏览器。这次的更新 增加了新的外观标识、快捷键和更多隐私控制。此外它还带来了一个新的盾牌图标,让用户可以直接从图标上快速打开和关闭跟踪器,并增加了一个新的全局计数器,向用户显示他们被屏蔽的所有跟踪器。

老王点评:在 FireFox 市场份额急剧丢失的今天,似乎 Firefox Focus 还值得一观。

科学家可以在几分钟内将数据记录到 DNA 上

西北大学的研究人员设计了一种 将信息记录到 DNA 的新方法,只需几分钟而不是几小时或几天。目前依赖于将新信息与现有 DNA 序列相结合的多部分过程,这可能需要超过 10 小时才能完成。他们发现的新方法利用一种新的酶系统合成全新的 DNA,而不是复制它的一个模板。该方法使数据能够在几分钟内被记录到遗传密码中。

老王点评:随着技术的进步,人类越来越对 DNA 缺乏“敬畏”了,我觉得或许有一天会发现我们那么多静默的 DNA 片段里面记录了些什么。

在学习建立在 Java 之上的所有相关工具时,了解 Core Java 会给你带来很大的优势。

 title=

计算机编程(也被称为 编码)的重点不是使用哪种编程语言,而是发展编程逻辑和学习像程序员一样思考。你一开始使用的编程语言应该是在这一努力过程中对你帮助最大的语言。因此,你必须问自己一个问题,“作为一个程序员,你想开发什么?”

例如,如果你想从事安卓应用开发、视频游戏开发、桌面 GUI 应用,或者只是一般的软件开发,我认为学习 Java 是一个很好的选择。我选择的语言是 Java,它为我提供了一个完整的编程世界。在我居住的印度,Java 程序员的平均工资约为每年 59 万印度卢比(LPA)(根据你的经验,可以高达 100 LPA)。

不过,Java 是一种庞大的语言,有很多框架和变体可供选择。Core Java 是科技行业发展出来的术语,指的是 Java 语言的中心组件,人们用它来编写框架,并围绕 Java 发展了丰富的产业。我认为,Core Java 是你能获得的最强大的技能之一,因为在学习建立在它之上的所有相关工具时,了解 Java 的基础知识会给你带来巨大的优势。

以下是我选择 Core Java 的八大理由,我想你也会认可:

1、Java 是一种不断发展的编程语言

Java 有重要的企业支持,但 Java 开发中最重要的组成部分是 OpenJDK,这是个开源的 Java 开发工具包。OpenJDK 社区以促进和维护开发源码、开放创新和开放标准为使命,致力于改进和维护 Java 及其工具链的开源实现。

它的每一个版本都会增加创新和便利,使 Java 对开发者和用户都更容易。例如,就在 Java 11 中,他们增加了运行 .java 文件的能力。现在,运行一个单文件的 Java 应用程序所需要的只是 java 命令,不需要进行编译:

$ java ./hello.java

Hello world

你可以使用 Java 做 Web、移动或桌面的应用程序编程。它是一种高度通用的语言。它有许多有趣的特点,如动态编码、多种安全功能、平台无关的特点和以网络为中心的设计。

2、Java 锚定了安卓应用开发

你可以使用 Java 来创建安卓用程序。安卓市场巨大,对移动程序员的需求只会越来越大。即使你对成为一个专业的应用程序开发人员不感兴趣,定制你的移动体验的能力也是很强大的,而 Java 使之成为可能。

而且,这比你想象的要容易得多!学习 Core Java 可以让你轻松地掌握安卓开发工具包或可以输出到移动平台的框架,如 Processing

3、丰富的 API 使得 Java 易于使用

Java 的 API( 应用编程接口 Application Programming Interface )包括类、包、接口等。Java 主要有三种类型的 API:

  • 官方的 Java Core API
  • 最佳的官方 Java API
  • 非官方的 API

API 使编程更容易,因为你可以在不知道其内部实现的情况下构建应用程序。根据我的经验,许多公司喜欢用 Java 而不是其他选择,就是因为 Java API 的力量。

4、开源库

几乎有无穷无尽的 Java 开源库,包括 Maven、Guava、Apache Commons、Jhipster,等等。你可以复制、学习和分享这些库的资源。它们使编程更容易获得、更快、更便宜,也更有教育意义。

5、Java 有可靠的开发工具

Java 有一些我最喜欢的 IDE( 集成开发环境 Integrated Development Environments ),包括 EclipseNetBeansBlueJ 和 IntelliJ IDEA。它们提供了调试、语法高亮、代码补完、语言支持、自动重构等功能。简而言之,IDE 在 Java 的成功和你在 Java 学习中起着至关重要的作用!

6、印度对 Java 开发人员的需求

谷歌、Netflix 和 Instagram 等巨头都使用 Java 进行后台开发。印度公司正在积极寻找雇用 Java 程序员来开发安卓应用程序、新的 API 和云上的微服务。这种需求转化为更多的工作机会。

7、Java 有庞大的编程社区

Java 程序员的社区庞大,囊括了从初学者到专家的所有人。我发现这个社区很热情待人,当你寻求支持的时候,他们会给予帮助。最重要的是,通过参与在线讨论,我学到了大量的新技巧。作为社区的一分子,这是我了解最新趋势、学习更多语言和跟上发展的重要途径。

8、Java 是独立于平台

Java 是平台无关的,这一点使它具有很高的价值。Java 源代码被编译成字节码,在 Java 虚拟机(JVM)上运行。任何运行 JVM 的平台(支持所有主要平台)都可以运行你的 Java 应用程序。你只需写一次,就可以在任何地方运行!这并不只是理论上的,Java 实际上已经实现了这一点。你可以在你开发的任何平台上编写 Java,并将其交付给你的所有目标平台。

网上有很多学习 Java 的资源,包括 Opensource.com 上有一个 速查表。还有一个很好的 在线 Java 课程,可以用印地语免费学习。


via: https://opensource.com/article/21/10/why-i-learned-core-java

作者:Shantam Sahai 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出