ipv4_is_match()
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
두 개의 IPv4 문자열과 일치합니다. 인수 접두사 및 선택적 prefix
인수에서 계산된 결합된 IP 접두사 마스크를 고려하면서 두 IPv4 문자열을 구문 분석하고 비교합니다.
구문
ipv4_is_match(
ip1,
ip2[ ,
접두사])
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
ip1, ip2 | string |
✔️ | IPv4 주소를 나타내는 식입니다. IP 접두사 표기법을 사용하여 IPv4 문자열을 마스킹할 수 있습니다. |
prefix | int |
고려되는 가장 중요한 비트 수를 나타내는 0에서 32까지의 정수입니다. |
IP 접두사 표기법
IP 접두사 표기법(CIDR 표기법이라고도 함)은 IP 주소 및 연결된 네트워크 마스크를 나타내는 간결한 방법입니다. 형식입니다 <base IP>/<prefix length>
. 여기서 접두사 길이는 netmask에서 선행 1비트 수입니다. 접두사 길이는 네트워크에 속하는 IP 주소의 범위를 결정합니다.
IPv4의 경우 접두사 길이는 0에서 32 사이의 숫자입니다. 따라서 표기법 192.168.2.0/24는 netmask가 255.255.255.0인 IP 주소 192.168.2.0을 나타냅니다. 이 netmask에는 24개의 선행 1비트 또는 24개의 접두사 길이가 있습니다.
IPv6의 경우 접두사 길이는 0에서 128 사이의 숫자입니다. 따라서 표기법 fe80::85d:e82c:9446:7994/120은 IP 주소 fe80::85d:e82c:9446:7994를 나타내며 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00의 netmask가 있습니다. 이 netmask에는 120개의 선행 1비트 또는 120의 접두사 길이가 있습니다.
반품
true
: 첫 번째 IPv4 문자열 인수의 긴 표현이 두 번째 IPv4 문자열 인수와 같은 경우false
:그렇지 않으면.null
: 두 IPv4 문자열 중 하나에 대한 변환에 성공하지 못한 경우
참고 항목
범위가 아닌 IPv4 주소와 일치하는 경우 성능을 향상시키려면 등호 연산자()==
를 사용하는 것이 좋습니다.
예제
간단한 예
print ipv4_is_match('192.168.1.1/24', '192.168.1.255')
출력
print_0 |
---|
true |
IPv4 비교 같음 - IPv4 문자열 내에 지정된 IP 접두사 표기법
datatable(ip1_string:string, ip2_string:string)
[
'192.168.1.0', '192.168.1.0', // Equal IPs
'192.168.1.1/24', '192.168.1.255', // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
'192.168.1.1/30', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_is_match(ip1_string, ip2_string)
출력
ip1_string | ip2_string | result |
---|---|---|
192.168.1.0 | 192.168.1.0 | true |
192.168.1.1/24 | 192.168.1.255 | true |
192.168.1.1 | 192.168.1.255/24 | true |
192.168.1.1/30 | 192.168.1.255/24 | true |
IPv4 비교 같음 - IPv4 문자열 내에 지정된 IP 접두사 표기법 및 함수의 ipv4_is_match()
추가 인수
datatable(ip1_string:string, ip2_string:string, prefix:long)
[
'192.168.1.1', '192.168.1.0', 31, // 31 bit IP-prefix is used for comparison
'192.168.1.1/24', '192.168.1.255', 31, // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255', 24, // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_is_match(ip1_string, ip2_string, prefix)
출력
ip1_string | ip2_string | prefix | result |
---|---|---|---|
192.168.1.1 | 192.168.1.0 | 31 | true |
192.168.1.1/24 | 192.168.1.255 | 31 | true |
192.168.1.1 | 192.168.1.255 | 24 | true |