我获取了ip(ipv4,例如192.168.161.125),如何获取我的电脑所在的子网?java方法和String格式结果优先。
子网是使用IP地址和子网掩码计算得出的网络
谢谢。
在 bash 脚本中,我有一个像 140.179.220.200 这样的 IP 地址和像 255.255.224.0 这样的网络掩码。我现在想计算网络地址(140.179.192.000)、第一个可用的主机 IP(140.179.192.1)、最后一个可用的主机 IP(140.179.220.254)和广播地址(140.179.223.255)。我能够找到一种干净的方法来处理下面的网络地址。我可以手动进行子网计算,但主要是难以将其转换为 bash 脚本。提前致谢
$ IFS=. read -r i1 i2 i3 i4 <<< "192.168.1.15"
$ IFS=. read -r m1 m2 m3 m4 <<< "255.255.0.0"
$ printf "%d.%d.%d.%d\n" "$((i1 & m1))" "$((i2 & m2))" "$((i3 & m3))" "$((i4 & m4))"
192.168.0.0
Run Code Online (Sandbox Code Playgroud) 所以我有一个ANDing IPv4地址和子网地址的脚本.不检查它是否是有效输入(我应该添加),它将输入转换为二进制.
if ($readInput -match "y"){
$readIP = read-host "Please input an IPv4 address to be ANDed "
# need to add subnet mask later.
$readSub = read-host "Please input the Subnet Mask "
#need to delimite '.'
#$readIP.split "."
#$readSub.split "."
#need to join them
#convert IPv4 address to binary, period seperated at each octet. (input ip, base 2)
$binIP = [convert]::ToString($readIP,2)
write-host "$binIP" -backgroundcolor "white" -foregroundcolor "black"
## need to have two 32 element array that compares each …Run Code Online (Sandbox Code Playgroud) 我需要阻止来自某些国家/地区的某些 IP,但我只得到起始 IP 和结束 IP,如下所示:
11.22.33.44 - 11.22.35.200
Run Code Online (Sandbox Code Playgroud)
我想计算子网,如下所示:
(not accurate)
11.22.33.44/14
Run Code Online (Sandbox Code Playgroud)
如何在 Python 中确定给定 IP 地址范围的子网?
我的应用程序已在 Elastic Beanstalk 中运行多年,现在,在尝试部署时突然出现以下错误:
Upload Complete.
2019-04-30 22:44:21 INFO Environment update is starting.
2019-04-30 22:44:44 ERROR Service:AmazonCloudFormation, Message:Stack named 'awseb-e-2etmaatfsm-stack' aborted operation. Current state: 'UPDATE_ROLLBACK_IN_PROGRESS' Reason: The following resource(s) failed to update: [AWSEBLoadBalancer].
2019-04-30 22:44:44 ERROR Updating load balancer named: awseb-e-2-AWSEBLoa-13E02TCAOUR85 failed Reason: Default subnet not found in us-west-2d (Service: AmazonElasticLoadBalancing; Status Code: 400; Error Code: ValidationError; Request ID: 8873a7c6-6b99-11e9-8d65-737139191d2f)
2019-04-30 22:44:44 ERROR Failed to deploy application.
Run Code Online (Sandbox Code Playgroud)
我一直都在us-west-2,从来没有遇到过这样的事情。似乎这是一个新的可用区,也许我的应用程序配置中有一些东西会自动尝试部署到每个可用区,但在这个新的可用区中还没有合适的基础设施?
有什么建议?
我了解到私有 IPv4 地址空间是:
\n\nClass A 10.0.0.0 \xe2\x80\x93 10.255.255.255\nClass B 172.16.0.0 \xe2\x80\x93 172.31.255.255\nClass C 192.168.0.0 \xe2\x80\x93 192.168.255.255\nRun Code Online (Sandbox Code Playgroud)\n\n私有IP地址是无法通过互联网访问并且通常受防火墙保护的IP地址。
\n\n169.254.0.0由 Microsoft 机器使用但未由 IANA 分配
在下面的AWS VPC架构中(来自这里):
\n\n
公共子网指定为subnet 10.0.0.0/24,但该地址是私有地址空间的一部分(10.0.0.0 \xe2\x80\x93 10.255.255.255 )的一部分。
为什么子网(10.0.0.0/24 ) 被视为公有子网?
笔记: \n在 AWS 世界中,将子网关联到公共路由表使其成为公共子网。具有到 IGW 的出站流量的路由表条目指示路由表、公共路由表
\n我正在尝试使用 Terraform 支持的 cidrsubnet 函数创建两个子网。我的 VPC cidr 是“10.32.0.0/16”。我正在尝试拥有子网 10.32.1.0/27 和 10.32.3.0/27。为了实现此目的,我在获取 cidrsubnet 函数时遇到了一些麻烦。到目前为止我所拥有的是:
cidrsubnet(10.32.0.0/16, 11, netnum???)
Run Code Online (Sandbox Code Playgroud)
我不明白 netnum 需要什么值才能获得我想要的值。对这部分功能的任何解释都会有所帮助。我尝试阅读有关此功能的文档,但它似乎有限。
我目前测试 terraform 的部署,我需要生成一个相当大的子网列表
我发现我可以使用以下块生成我需要的列表
cidrsubnets("10.10.0.0/18", 9, 9, 9, 9, 9, 9, 9, 9, 9)
Run Code Online (Sandbox Code Playgroud)
并为我需要的每个添加额外的新内容。然而,当需要一个大列表时,这很快就会失控,我想知道如何指定所需的子网数量或结束地址或类似的内容来指定我需要的数量,而不是以 100 个新位为例。
谢谢!
我在一台网络上,我的机器是10.0.0.81,子网掩码是255.255.255.0.我想找出我的广播地址.那会是10.0.0.255吗?如果是这样,我该如何验证?我可以发送一个ping例子,看看它击中了哪台电脑?
我对上面的设置感到有点困惑.根据我的理解,在公共子网内,有四个实例(3个webservers + 1个NAT).为什么他们都有公共(弹性)IP地址?为什么网络服务器有公共IP地址?它们不应该通过NAT实例访问吗?我的意思是所有内容(入站或出站)应该通过NAT实例,对吗?这是否意味着网络服务器和外部世界之间存在绕过NAT的直接路径?我在这里错过了什么?"路由器"和"互联网网关"也是EC2实例吗?
subnet ×10
ip ×5
ipv4 ×2
networking ×2
terraform ×2
vpc ×2
amazon-ec2 ×1
amazon-vpc ×1
bash ×1
binary ×1
broadcast ×1
ip-address ×1
java ×1
netmask ×1
powershell ×1
python ×1
routes ×1