我希望能够传入一串随机 IP 地址(只是一个没有逗号分隔的长字符串)并返回分隔为 IP 地址和端口的列表,如下所示:
IP地址 | 港口 |
---|---|
237.148.51.168 | 445 |
208.250.127.105 | 63 |
154.133.47.172 | 0 |
这是我当前的代码,但是我不知道如何识别新行是 KQL 中的另一个值。
datatable(randomIpAddress:string)[
```237.148.51.168:445
208.250.127.105:63
154.133.47.172:0
246.249.197.54:4673
29.219.118.47:80
63.65.217.14:80
38.190.162.134:10
128.109.247.102:383
241.154.59.142:445
29.12.140.178:0```
]
| parse ipAddressList with ipAddress:string ':' port:string
| project-away ipAddressList
目前返回:
IP地址 | 港口 |
---|---|
237.148.51.168 | 445 208.250.127.105:63 154.133.47.172:0 246.249.197.54:4673 ... |
谢谢!
您首先需要
split()
多行输入,然后使用 mv-expand
或 mv-apply
展开它。
例如:
datatable(multiline_input: string)
[
```237.148.51.168:445
208.250.127.105:63
154.133.47.172:0
246.249.197.54:4673
29.219.118.47:80
63.65.217.14:80
38.190.162.134:10
128.109.247.102:383
241.154.59.142:445
29.12.140.178:0```
]
| mv-apply ip_address = split(multiline_input, "\r\n") to typeof(string) on (
parse ip_address with ip_address: string ':' port: string
)
| project ip_address, port
ip_地址 | 港口 |
---|---|
237.148.51.168 | 445 |
208.250.127.105 | 63 |
154.133.47.172 | 0 |
246.249.197.54 | 4673 |
29.219.118.47 | 80 |
63.65.217.14 | 80 |
38.190.162.134 | 10 |
128.109.247.102 | 383 |
241.154.59.142 | 445 |
29.12.140.178 | 0 |