Skip to content
NetsCLI

Result model

NetsCLI keeps result data shared across interfaces. Desktop app tables, CLI JSON/YAML, TUI output, MCP tools, and Rust structs describe the same underlying operation.

Structured output is designed to be additive:

  • Existing field names remain stable.
  • New fields may appear as the core library captures richer data.
  • Missing optional data is represented as absent, null, empty, or - in human output depending on the interface.
  • Consumers can safely ignore unknown fields.

Port scans include the existing compatibility fields plus richer status data.

FieldMeaning
portTCP port number.
openCompatibility boolean for older consumers.
serviceBest-effort service guess.
statusopen, closed, filtered, or error.
latency_msTCP connect/probe latency where available.
bannerBounded plaintext banner when captured.
httpHTTP status/header data when a HTTP-like probe succeeds.
tlsTLS metadata when a TLS probe succeeds.
rawBounded raw diagnostic preview when available.
errorProbe error text when the scanner could not complete a normal open, closed, or filtered result.

filtered means the connection attempt timed out or was blocked before connect.

Banner, HTTP, TLS, and raw preview data are probe results. They are useful diagnostics, not proof that a service is trustworthy.

Discovery and sweep results describe hosts.

FieldMeaning
ipHost address.
hostnameReverse DNS or local name when available.
macMAC address when present in ARP/vendor data.
vendorOUI vendor lookup.
rtt_msReachability latency.
open_portsSweep-only list of open port rows for that host.

Discovery prioritizes inventory. Sweep adds exposed-service data by scanning selected ports on discovered hosts.

DNS records expose type and value first, then additive metadata when the resolver provides it.

FieldMeaning
record_typeA, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA, or another supported record family.
valueDisplay value for the record.
ttl_secondsTTL when available.
nameOwner name when available.
resolver_sourceResolver source when NetsCLI can report it.

When ALL records are requested, some record families can fail while others succeed. When at least one record is returned, interfaces present the lookup as partial results rather than a total failure.

Inspect is a host profile. It combines host-level data with optional port scan data.

FieldMeaning
hostOriginal target.
ipResolved IP address.
hostnameReverse DNS name when available.
pingReachability object with alive, method, rtt_ms, seq, and optional error.
portsPort scan rows using the same model as scan.
open_portsConvenience list containing only open port rows.

mDNS/DNS-SD returns service announcements rather than generic host rows. A single device can announce multiple services.

FieldMeaning
full_nameFull service instance name.
hostnameHost that owns the service.
service_typeDNS-SD service type, such as _http._tcp.local..
addressesIPv4 and IPv6 addresses resolved for the service host.
portService port.
propertiesTXT record key/value properties.

Interface rows describe local network interfaces. ARP rows describe the local neighbor cache.

FieldMeaning
name / interfaceInterface name or interface address associated with the row.
ips / addressesInterface addresses.
macMAC address when available.
stateInterface state such as up or down.
loopbackWhether the interface is loopback where known.
vendorOUI vendor lookup for MAC addresses where available.

ARP is not full discovery. It reports entries already known to the operating system.

Packet capture results are available only in builds compiled with packet-capture support.

FieldMeaning
indexPacket number within the capture.
timestampPacket timestamp where available.
sourceBest parsed source endpoint.
destinationBest parsed destination endpoint.
protocolParsed protocol family.
lengthCaptured packet length.
captured_lengthNumber of bytes captured for this packet.
infoHuman-oriented packet summary.
source_port / destination_portTransport ports when parsed.
tcp_flagsTCP flags when parsed.
icmp_type / icmp_codeICMP metadata when parsed.
arp_operationARP operation when parsed.
ethernet_source / ethernet_destinationEthernet addresses when parsed.
hex_previewBounded byte preview for quick inspection.