跳到正文

服务端IP开放端口查询

接口说明

该服务的主要功能是从所有历史累计数据中查询指定服务端 IP 地址开放的端口信息,返回该 IP 上所有开放端口的详细记录,包括端口号、首次发现时间和最后发现时间,返回数据已对IP和port做去重处理。

请求地址

https://api.f.360.cn/ips/std/internal/v2/open_port

请求方法

POST

请求参数

参数名类型位置是否必填示例值说明
queryobjectbody是
{
  "keywords": [
    {
      "field": "ip",
      "value": "1.0.0.86"
    }
  ]
}
查询条件,所有请求参数的父级结构
query.keywordsArray(object)body是
[
  {
    "field": "ip",
    "value": "1.0.0.86"
  }
]
查询条件,所有请求参数的子级结构
query.keywords.fieldstringbody是ip查询条件的字段类型,此处为ip
query.keywords.valuestringbody是156.238.126.71服务端ip

响应参数

名称类型示例值描述
codeString0响应状态码
dataArray
[
  {
    "first_time": "2020-01-08 10:01:34",
    "ip": "1.0.0.86",
    "last_time": "2022-10-30 14:02:46",
    "port": "80"
  },
  {
    "first_time": "2019-12-22 21:30:25",
    "ip": "1.0.0.86",
    "last_time": "2022-10-29 07:48:03",
    "port": "443"
  }
]
响应具体信息
data.first_timestring2020-01-08 10:01:34ip+port首次出现时间
data.ipstring请求的服务端ip服务端ip
data.last_timestring2022-10-30 14:02:46ip+port最后出现时间
data.portstring2087当前服务端ip开放的端口
msgStringok响应状态信息

请求示例

支持cUrl、Python、Java、PHP、Go语言的请求,示例如下

#!/usr/bin/env bash
set -euo pipefail

APPID=""  # apikey
SECRET=""  # salt
URL="https://api.f.360.cn/ips/std/internal/v2/open_port"
BODY='{"query":{"keywords":[{"field":"ip","value":"1.0.0.86"}]}}'

NONCE=$(printf '%08d' $((RANDOM % 100000000)))
TIMESTAMP=$(date +%s)
BODY_MD5=$(printf '%s' "$BODY" | openssl dgst -md5 -hex | awk '{print $NF}')
SIGNATURE=$(printf '%s' "${BODY_MD5}${APPID}${NONCE}${TIMESTAMP}${SECRET}" | openssl dgst -md5 -hex | awk '{print $NF}')
SIGNATURE=${SIGNATURE:16}

curl --location --request POST "$URL" \
  --header "Content-Type: application/json" \
  --header "X-360-Key: ${APPID}" \
  --header "X-360-Nonce: ${NONCE}" \
  --header "X-360-Timestamp: ${TIMESTAMP}" \
  --header "X-360-Signature: ${SIGNATURE}" \
  --data "${BODY}"

响应示例

业务正常响应

{
    "_oid": 1,
    "code": "0",
    "data": [
        {
            "first_time": "2021-03-30 07:50:20",
            "ip": "104.21.30.198",
            "last_time": "2025-02-24 08:47:58",
            "port": "80"
        },
        {
            "first_time": "2021-03-21 10:55:05",
            "ip": "104.21.30.198",
            "last_time": "2025-02-24 11:14:18",
            "port": "443"
        },
        {
            "first_time": "2021-01-03 19:51:13",
            "ip": "104.21.30.198",
            "last_time": "2025-02-19 14:48:03",
            "port": "2052"
        },
        {
            "first_time": "2021-09-29 07:05:51",
            "ip": "104.21.30.198",
            "last_time": "2025-01-31 01:16:21",
            "port": "2053"
        },
        {
            "first_time": "2021-10-23 06:30:48",
            "ip": "104.21.30.198",
            "last_time": "2025-02-16 10:19:45",
            "port": "2082"
        },
        {
            "first_time": "2020-12-05 06:44:45",
            "ip": "104.21.30.198",
            "last_time": "2025-02-16 10:36:33",
            "port": "2083"
        },
        {
            "first_time": "2020-09-12 06:04:15",
            "ip": "104.21.30.198",
            "last_time": "2025-02-19 13:32:49",
            "port": "2086"
        }
    ],
    "msg": "ok",
    "status": 0
}

业务异常响应

{
  "code": "GS00301",
  "msg": "param missing"
}