network

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ExcludeAllTrue  = "TRUE"  // 过滤名字为全部的IP组
	ExcludeAllFalse = "FALSE" // 不过滤名字为全部的IP组
)

ExcludeAll 是否过滤名字为全部的IP组

View Source
const (
	HasSensitiveDataTrue  = "TRUE"  // 过滤敏感数据业务
	HasSensitiveDataFalse = "FALSE" // 过滤非敏感数据业务
	HasSensitiveDataAll   = "ALL"   // 不过滤敏感数据业务
)

HasSensitiveData 是否过滤敏感数据业务

View Source
const (
	AddressTypeIPv4 = "IPV4" // ip协议版本为ipv4
	AddressTypeIPv6 = "IPV6" // ip协议版本为ipv6
	AddressTypeAll  = "ALL"  // 不过滤ip协议版本
)

AddressType IP协议版本

View Source
const (
	HasRefTrue  = "TRUE"  // 过滤被引用的网络对象
	HasRefFalse = "FALSE" // 过滤没有被引用的网络对象
)

HasRef 是否过滤被引用的网络对象

View Source
const (
	ImportantCommon = "COMMON" // 重要级别为普通
	ImportantCore   = "CORE"   // 重要级别为核心
	ImportantAll    = "ALL"    // 不过滤重要级别
)

Important 重要级别

View Source
const (
	OrderAsc  = "asc"  // 按升序排列
	OrderDesc = "desc" // 按降序排列
)

Order 排序方式

View Source
const (
	BusinessTypeAddrGroup        = "ADDRGROUP"        // 业务类型为地址组
	BusinessTypeIP               = "IP"               // 业务类型是IP地址
	BusinessTypeUser             = "USER"             // 业务类型是用户地址
	BusinessTypeBusiness         = "BUSINESS"         // 业务类型是业务地址
	BusinessTypeDomains          = "DOMAINS"          // 业务类型是域名网络对象
	BusinessTypeOtherThanDomains = "OTHERTHANDOMAINS" // 业务类型不是域名网络对象
	BusinessTypeAll              = "ALL"              // 不过滤业务类型
)

BusinessType 业务类型

View Source
const (
	NetObjBusinessTypeIP        = "IP"        // ip组类型
	NetObjBusinessTypeBusiness  = "BUSINESS"  // 业务组类型
	NetObjBusinessTypeUser      = "USER"      // 用户组类型
	NetObjBusinessTypeAddrGroup = "ADDRGROUP" // 地址组类型
	NetObjBusinessTypeDomains   = "DOMAINS"   // 域名类型
)

NetObjBusinessType 网络对象组类型(响应中的businessType)

View Source
const (
	NetObjAddressTypeIPv4 = "IPV4" // IPv4类型
	NetObjAddressTypeIPv6 = "IPV6" // IPv6类型
)

NetObjAddressType 地址类型(响应中的addressType)

View Source
const (
	NetObjImportantCommon = "COMMON" // 普通用户或普通业务
	NetObjImportantCore   = "CORE"   // 核心用户或核心业务
)

NetObjImportant 重要级别(响应中的important)

View Source
const (
	DomainsDetectModeActive  = "ACTIVE"  // 主动探测
	DomainsDetectModePassive = "PASSIVE" // 被动学习
)

DomainsDetectMode 域名对象探测模式

View Source
const (
	DataStatusAuto     = "AUTO"      // 系统自动识别
	DataStatusExist    = "EXIST"     // 存在
	DataStatusNotExist = "NOT-EXIST" // 不存在
)

DataStatus 敏感数据识别方式

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client 网络对象客户端

func NewClient

func NewClient(host, token, sessid string, httpClient *http.Client) *Client

NewClient 创建新的网络对象客户端

func (*Client) GetNetObjs

func (c *Client) GetNetObjs(req *GetNetObjsRequest) (*GetNetObjsResponse, error)

GetNetObjs 获取网络对象列表

type GetNetObjsRequest

type GetNetObjsRequest struct {
	// 过滤参数:是否过滤名字为全部的IP组 (TRUE/FALSE)
	ExcludeAll string
	// 网络对象组名字前缀过滤 (1-95字符)
	NamePrefix string
	// 过滤参数:是否过滤敏感数据业务 (TRUE/FALSE/ALL)
	HasSensitiveData string
	// 模糊搜索关键字 (最大95字符)
	Search string
	// 过滤参数:传入一个网络对象的uuid,查找指定网络对象被哪些地址组引用 (32字符)
	GetRefBy string
	// 过滤参数:ip协议版本 (IPV4/IPV6/ALL)
	AddressType string
	// 过滤参数:是否过滤被引用的网络对象 (TRUE/FALSE)
	HasRef string
	// 获取最大长度,限制最大值,如果数据不够可能返回小于 length (1-200, 默认100)
	Length int
	// 过滤参数:重要级别 (COMMON/CORE/ALL)
	Important string
	// 指定排序字段 (最大100字符)
	SortBy string
	// 过滤参数:业务类型过滤
	// ADDRGROUP: 地址组
	// IP: IP地址
	// USER: 用户地址
	// BUSINESS: 业务地址
	// DOMAINS: 域名网络对象
	// OTHERTHANDOMAINS: 不是域名网络对象
	// ALL: 不过滤业务类型
	BusinessType string
	// 指定排序方式(正序/倒序)(asc/desc, 默认asc)
	Order string
	// 起始位置,从 0 开始 (0-2000000, 默认0)
	Start int
	// 选择字段,字段用逗号分隔 (最大1000字符)
	Select string
}

GetNetObjsRequest 获取网络对象请求参数

type GetNetObjsResponse

type GetNetObjsResponse struct {
	Code    int    `json:"code"`    // 错误码
	Message string `json:"message"` // 错误信息
	Data    struct {
		TotalItems    int32        `json:"totalItems"`    // 总共多少项目
		TotalPages    int32        `json:"totalPages"`    // 总共多少页
		PageNumber    int32        `json:"pageNumber"`    // 当前页码,从 1 开始
		PageSize      int32        `json:"pageSize"`      // 每页多大
		ItemsOffset   int32        `json:"itemsOffset"`   // 当前条目偏移,从 0 开始
		ItemLength    int32        `json:"itemLength"`    // 数据列表长度
		PrivateOffset uint64       `json:"privateOffset"` // 内部偏移
		Items         []NetObjItem `json:"items"`         // 有效数据列表
	} `json:"data"`
}

GetNetObjsResponse 获取网络对象响应

func (*GetNetObjsResponse) IsSuccess

func (r *GetNetObjsResponse) IsSuccess() bool

IsSuccess 检查请求是否成功

type IPRange

type IPRange struct {
	Start string `json:"start"` // ip范围的起始位置 (ip-address格式,必填)
	End   string `json:"end"`   // ip范围的终止位置 (ip-address格式,可选)
	Bits  uint8  `json:"bits"`  // ip掩码简写 (可选)
}

IPRange IP范围 根据 network.json 定义:ip表项组,包含起始IP、结束IP和掩码信息

type NetObjItem

type NetObjItem struct {
	// 基础信息
	UUID        string `json:"uuid"`        // 资源唯一ID
	Name        string `json:"name"`        // 网络对象组名字 (1-95字符,必填,不能包含特殊字符)
	ID          uint16 `json:"id"`          // autoid
	Description string `json:"description"` // 描述字段 (0-95字符,可选,不能包含特殊字符)

	// 类型和分类
	BusinessType string `json:"businessType"` // 网络对象组类型 (必填)
	// 可选值: IP, BUSINESS, USER, ADDRGROUP, DOMAINS
	AddressType string `json:"addressType"` // 地址类型 (可选)
	// 可选值: IPV4, IPV6
	Important string `json:"important"` // 重要级别 (可选)

	// IP范围信息
	IPRanges []IPRange `json:"ipRanges"` // ip表项组 (与refIpGroup二选一)

	// 引用信息
	RefIPGroup []string `json:"refIpGroup"` // 地址组引用的IP组对象列表 (与ipRanges二选一)

	// 域名信息
	Domains           []string `json:"domains"`           // 域名对象 (字符串数组)
	DomainsDetectMode string   `json:"domainsDetectMode"` // 域名对象探测模式 (可选)

	// 敏感数据相关
	DataStatus string `json:"dataStatus"` // 敏感数据识别方式 (可选)
	// 可选值: AUTO(系统自动识别), EXIST(存在), NOT-EXIST(不存在)
	PageNum int32 `json:"pageNum"` // 敏感数据页面数

	// 状态信息
	HasRef    bool   `json:"hasref"`    // 标识是否被引用
	IsDefault bool   `json:"isdefault"` // 标识是否是默认配置
	ShowName  string `json:"showname"`  // 标识默认配置的名字
}

NetObjItem 网络对象项 根据 network.json 定义:完整的网络对象结构,包含所有字段

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL