Máy tính CIDR / subnet API

Tính subnet IPv4 / IPv6: địa chỉ mạng, broadcast, netmask, dải và số host; kiểm tra IP thuộc dải, chia subnet, gộp danh sách, đổi dải IP sang CIDR.

GETPOSThttps://apibox.io.vn/v1/cidr
Mạng & Kiểm tra▶ Dùng thử online

Truyền dải mạng ở cidr (192.168.1.0/24, 10.0.0.1/255.255.255.0, 2001:db8::/48), API trả về địa chỉ mạng và broadcast, netmask và wildcard mask, địa chỉ đầu / cuối và dải host dùng được, tổng số địa chỉ và số host dùng được (xử lý cả /31 theo RFC 3021 và /32), mask dạng nhị phân, lớp mạng, loại địa chỉ (private, CGNAT, documentation, multicast…), vùng DNS ngược và các mạng cùng kích thước liền trước, liền sau. Địa chỉ IPv6 được hiển thị cả dạng rút gọn và đầy đủ, kèm số subnet /64.

Các thao tác khác (tự nhận ra từ tham số, hoặc chọn bằng action): contains kiểm tra một hay nhiều ip (địa chỉ hoặc CIDR) có nằm trong dải không; split chia dải thành subnet theo prefix mới, số subnets hoặc số hosts mỗi subnet (liệt kê tối đa 4096); range đổi đầu-cuối thành danh sách khối CIDR ít nhất; merge nhận list gồm CIDR, địa chỉ và dải (tối đa 10.000), gộp các khối chồng lấn, liền kề thành tập nhỏ nhất và báo các mục trùng, chồng lấn.

Tính toán thuần bằng số nguyên 128 bit: không tra cứu, không lưu dữ liệu. Để biết chủ sở hữu và vị trí của địa chỉ hãy dùng /v1/ip, dải cloud và Tor thì dùng /v1/ip-intel.

Tham số

TênVị tríKiểuBắt buộcMặc định
cidrquery|bodystringkhôngDải mạng (10.0.0.0/8, 10.1.2.3/255.0.0.0, 2001:db8::/32), một địa chỉ, hoặc đầu-cuối cho action=range. Cũng nhận trên đường dẫn: /v1/cidr/10.0.0.0%2F8.
actionquery|bodystringkhônginfo, contains, split, range hoặc merge (tự nhận ra từ các tham số khác nếu bỏ trống).
ipquery|bodystringkhôngcontains: địa chỉ hoặc CIDR cần kiểm tra, cách nhau bằng dấu phẩy hoặc xuống dòng (tối đa 1000).
prefixquery|bodynumberkhôngsplit: độ dài prefix mới.
subnetsquery|bodynumberkhôngsplit: số subnet cần chia (làm tròn lên luỹ thừa của 2).
hostsquery|bodynumberkhôngsplit: số host cần cho mỗi subnet.
limitquery|bodynumberkhông256split: số subnet được liệt kê (1-4096).
listbody|queryarraykhôngmerge: các CIDR, địa chỉ và dải a-b (mảng hoặc cách nhau bằng xuống dòng, dấu phẩy, khoảng trắng), tối đa 10.000.

Ví dụ

curl "https://apibox.io.vn/v1/cidr?cidr=192.168.10.0/26" \
  -H "Authorization: Bearer YOUR_API_KEY"

Kết quả trả về

{
  "action": "info",
  "cidr": "192.168.10.0/26",
  "version": 4,
  "prefix": 26,
  "network": "192.168.10.0",
  "netmask": "255.255.255.192",
  "wildcard": "0.0.0.63",
  "broadcast": "192.168.10.63",
  "first_address": "192.168.10.0",
  "last_address": "192.168.10.63",
  "first_host": "192.168.10.1",
  "last_host": "192.168.10.62",
  "total_addresses": 64,
  "usable_hosts": 62,
  "netmask_binary": "11111111.11111111.11111111.11000000",
  "network_hex": "0xc0a80a00",
  "integer_range": [
    3232238080,
    3232238143
  ],
  "class": "C",
  "type": "private",
  "reverse_zone": "10.168.192.in-addr.arpa",
  "previous_network": "192.168.9.192/26",
  "next_network": "192.168.10.64/26"
}

Ứng dụng

  • Quy hoạch subnet VPC, VLAN (chia một /16 thành các khối /24)
  • Làm sạch và gộp danh sách CIDR của firewall, allowlist
  • Kiểm tra IP khách có thuộc dải văn phòng hay đối tác không
  • Đổi dải IP trong log hoặc dữ liệu đăng ký sang ký hiệu CIDR

Hỏi đáp

Xử lý /31 và /32 thế nào?

/31 có hai địa chỉ dùng được (RFC 3021, kết nối điểm-điểm) và không có broadcast; /32 là một host duy nhất.

Nếu địa chỉ nhập vào có bit host thì sao?

API tính địa chỉ mạng từ đó (192.168.1.130/26 → 192.168.1.128/26) và hiển thị địa chỉ đã nhập kèm ghi chú.

IPv6 có dùng được cho mọi thao tác không?

Có: info, contains, split, range và merge đều hỗ trợ IPv6, danh sách có thể trộn IPv4 và IPv6.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →