feat: report listening sockets #1

Merged
christianmanivong merged 1 commits from feat/listening-sockets into main 2026-10-08 07:30:26 +00:00
15 changed files with 1009 additions and 0 deletions
+3
View File
@@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
### Added ### Added
- `get_listening_sockets()` in the shape of `ListeningSocketsMixin`: FreeBSD
through `sockstat`, OpenBSD through `fstat` as root and `netstat -an`
without, which the reading reports as `attributed: False`.
- `FreeBSDDriver` (`freebsd`) and `OpenBSDDriver` (`openbsd`) on a shared - `FreeBSDDriver` (`freebsd`) and `OpenBSDDriver` (`openbsd`) on a shared
`BsdDriver`: SSH over exec channels (no PTY, real exit codes), root through `BsdDriver`: SSH over exec channels (no PTY, real exit codes), root through
`sudo -S` with the password on stdin. `sudo -S` with the password on stdin.
+12
View File
@@ -32,6 +32,18 @@ over SSH, built on [napalm-device-types](https://git.netork.io/NAPALM/napalm-dev
| `get_arp_table` | ✓ | ✓ | `arp -an` | | `get_arp_table` | ✓ | ✓ | `arp -an` |
| `get_lldp_neighbors` | `{}` | `{}` | no LLDP daemon in either base system | | `get_lldp_neighbors` | `{}` | `{}` | no LLDP daemon in either base system |
| `get_users`, `get_processes`, `get_cron_jobs` | ✓ | ✓ | `/etc/passwd`+`/etc/group`, `ps … lstart`, system crontab + `crontab -l` | | `get_users`, `get_processes`, `get_cron_jobs` | ✓ | ✓ | `/etc/passwd`+`/etc/group`, `ps … lstart`, system crontab + `crontab -l` |
| `get_listening_sockets` | ✓ | ✓ | `sockstat -46lq` / `fstat -n` as root, `netstat -an` without |
`get_listening_sockets` has the shape of napalm-device-types'
`ListeningSocketsMixin` (whose `ss`/cgroup reading is Linux's) and its rule:
read as root first, without root when that brings nothing back
(`attributed: False`). FreeBSD's `sockstat` sees every socket either way;
OpenBSD's `fstat` shows a user only their own processes, so without root the
sockets come from `netstat -an`, unnamed.
There is deliberately no `get_kernel_facts`: `KernelFactsMixin` reports a
Linux kernel's modules and `CONFIG_*` options, which a BSD kernel does not
have, and `hasattr(driver, "get_kernel_facts")` has to stay truthful.
Packages, services, updates (#799) and SNMP (#800) follow. Packages, services, updates (#799) and SNMP (#800) follow.
+32
View File
@@ -42,6 +42,10 @@ class BsdDriver(OSDriver):
#: Prints ``key=value`` lines; see :meth:`_platform`. #: Prints ``key=value`` lines; see :meth:`_platform`.
PLATFORM_COMMAND = "" PLATFORM_COMMAND = ""
ROUTES_COMMAND = "netstat -rn" ROUTES_COMMAND = "netstat -rn"
#: Lists listening sockets with their processes; as root it names them all.
LISTENING_COMMAND = ""
#: Lists them without root, if the command above needs it to see them all.
LISTENING_FALLBACK_COMMAND = ""
#: lstart is five words; :func:`parse.processes` reads it as one field. #: lstart is five words; :func:`parse.processes` reads it as one field.
PS_COMMAND = "ps -axww -o user,pid,ppid,%cpu,%mem,vsz,rss,stat,lstart,command" PS_COMMAND = "ps -axww -o user,pid,ppid,%cpu,%mem,vsz,rss,stat,lstart,command"
@@ -245,6 +249,34 @@ class BsdDriver(OSDriver):
"""Neither BSD ships an LLDP daemon in its base system.""" """Neither BSD ships an LLDP daemon in its base system."""
return {} return {}
# -- listening sockets -------------------------------------------------------
def _parse_listening(self, output: str, *, attributed: bool) -> list[dict[str, Any]]:
"""Parse :attr:`LISTENING_COMMAND` (*attributed*) or its fallback."""
raise NotImplementedError
def get_listening_sockets(self) -> dict[str, Any]:
"""Every listening TCP and bound UDP socket, with the process holding it.
Same shape as napalm-device-types' ``ListeningSocketsMixin`` -- whose
``ss``/cgroup reading is Linux's -- and the same rule: read as root
first, and without root when that brings nothing back, which the
reading then says (``attributed: False``). BSD has no systemd units or
container IDs to name.
"""
privileged = self.run_command(self.LISTENING_COMMAND, privileged=True)
if privileged.exit_code == 0 and privileged.stdout.strip():
return {
"attributed": True,
"sockets": self._parse_listening(privileged.stdout, attributed=True),
}
command = self.LISTENING_FALLBACK_COMMAND or self.LISTENING_COMMAND
plain = self.run_command(command, privileged=False)
return {
"attributed": False,
"sockets": self._parse_listening(plain.stdout, attributed=False),
}
# -- accounts, processes, cron ----------------------------------------------- # -- accounts, processes, cron -----------------------------------------------
def get_users(self) -> list[dict[str, Any]]: def get_users(self) -> list[dict[str, Any]]:
+6
View File
@@ -4,6 +4,7 @@ from __future__ import annotations
from napalm_device_types import FingerprintRule from napalm_device_types import FingerprintRule
from napalm_bsd import parse
from napalm_bsd.base import BsdDriver from napalm_bsd.base import BsdDriver
@@ -28,6 +29,11 @@ class FreeBSDDriver(BsdDriver):
) )
# -W: FreeBSD cuts long destinations to the column width otherwise. # -W: FreeBSD cuts long destinations to the column width otherwise.
ROUTES_COMMAND = "netstat -rnW" ROUTES_COMMAND = "netstat -rnW"
# sockstat names the process of every socket it can see; root sees them all.
LISTENING_COMMAND = "sockstat -46lq -P tcp,udp"
def _parse_listening(self, output: str, *, attributed: bool) -> list[dict]:
return parse.sockstat(output)
def _os_version(self) -> str: def _os_version(self) -> str:
version = super()._os_version() version = super()._os_version()
+8
View File
@@ -4,6 +4,7 @@ from __future__ import annotations
from napalm_device_types import FingerprintRule from napalm_device_types import FingerprintRule
from napalm_bsd import parse
from napalm_bsd.base import BsdDriver from napalm_bsd.base import BsdDriver
@@ -25,6 +26,13 @@ class OpenBSDDriver(BsdDriver):
'printf "%s=%s\\n" "$k" "$(sysctl -n hw.$k 2>/dev/null)"; done' 'printf "%s=%s\\n" "$k" "$(sysctl -n hw.$k 2>/dev/null)"; done'
) )
# fstat shows a user only their own processes; netstat shows every socket, unnamed.
LISTENING_COMMAND = "fstat -n"
LISTENING_FALLBACK_COMMAND = "netstat -an -f inet; netstat -an -f inet6"
def _parse_listening(self, output: str, *, attributed: bool) -> list[dict]:
return parse.fstat_sockets(output) if attributed else parse.netstat_listening(output)
def _hardware(self) -> tuple[str, str, str]: def _hardware(self) -> tuple[str, str, str]:
hw = self._platform() hw = self._platform()
return hw.get("vendor", ""), hw.get("product", ""), hw.get("serialno", "") return hw.get("vendor", ""), hw.get("product", ""), hw.get("serialno", "")
+90
View File
@@ -257,3 +257,93 @@ def boottime(text: str) -> Optional[int]:
"""``sysctl -n kern.boottime``: FreeBSD ``{ sec = N, … }``, OpenBSD ``N``.""" """``sysctl -n kern.boottime``: FreeBSD ``{ sec = N, … }``, OpenBSD ``N``."""
match = re.search(r"sec = (\d+)", text) or re.fullmatch(r"\s*(\d+)\s*", text) match = re.search(r"sec = (\d+)", text) or re.fullmatch(r"\s*(\d+)\s*", text)
return int(match[1]) if match else None return int(match[1]) if match else None
def _socket(
proto: str, local: str, family: str, process: Optional[str], pid: Optional[int]
) -> Optional[dict[str, Any]]:
"""A ListeningSocketDict from a local endpoint: ``*:22``, ``[::1]:25``,
``127.0.0.1:25``, ``[fe80::1%lo0]:25`` (sockstat, fstat) or ``*.22``,
``::1.25``, ``fe80::1%lo0.25`` (netstat)."""
if local.startswith("["):
address, _, port = local[1:].partition("]:")
elif local.count(":") == 1 or local.startswith("*:"):
address, _, port = local.rpartition(":")
else:
address, _, port = local.rpartition(".")
if not port.isdigit() or int(port) == 0:
return None
address, _, zone = address.partition("%")
if address == "*":
address = "0.0.0.0" if family == "4" else "::"
return {
"proto": proto,
"address": address,
"port": int(port),
"interface": zone or None,
"process": process,
"pid": pid,
"unit": None,
"container_id": None,
}
def _unique(sockets: list[Optional[dict[str, Any]]]) -> list[dict[str, Any]]:
"""One entry per socket, the first process holding it, as ss reports it."""
seen: set[tuple] = set()
result = []
for s in sockets:
if s is None:
continue
key = (s["proto"], s["address"], s["port"], s["interface"])
if key not in seen:
seen.add(key)
result.append(s)
return result
def sockstat(text: str) -> list[dict[str, Any]]:
"""FreeBSD ``sockstat -46lq -P tcp,udp``: USER COMMAND PID FD PROTO LOCAL FOREIGN."""
sockets = []
for line in text.splitlines():
words = line.split()
if len(words) < 7 or not words[2].isdigit() or words[4][:3] not in ("tcp", "udp"):
continue
proto, family = words[4][:3], words[4][3:]
sockets.append(_socket(proto, words[5], family, words[1], int(words[2])))
return _unique(sockets)
def fstat_sockets(text: str) -> list[dict[str, Any]]:
"""OpenBSD ``fstat -n``: the internet sockets nothing is connected to.
``USER CMD PID FD internet[6] stream|dgram tcp|udp [0xPCB] LOCAL [ARROW REMOTE]``;
a socket with an arrow is connected, one bound to port 0 is not bound.
"""
sockets = []
for line in text.splitlines():
words = line.split()
if len(words) < 8 or words[4] not in ("internet", "internet6"):
continue
if any(arrow in words for arrow in ("<--", "-->", "<->")):
continue
family = "6" if words[4] == "internet6" else "4"
sockets.append(_socket(words[6], words[-1], family, words[1], int(words[2])))
return _unique(sockets)
def netstat_listening(text: str) -> list[dict[str, Any]]:
"""``netstat -an``: listening TCP and bound UDP sockets, without their process."""
sockets = []
for line in text.splitlines():
words = line.split()
if len(words) < 5 or words[0][:3] not in ("tcp", "udp"):
continue
proto, family = words[0][:3], "6" if words[0].endswith("6") else "4"
local, foreign = words[3], words[4]
if proto == "tcp" and words[-1] != "LISTEN":
continue
if proto == "udp" and foreign != "*.*":
continue
sockets.append(_socket(proto, local, family, None, None))
return _unique(sockets)
+2
View File
@@ -33,3 +33,5 @@ sysctl -n vm.loadavg
which snmpd bsnmpd which snmpd bsnmpd
freebsd-update -h freebsd-update -h
id id
sockstat -46lq -P tcp,udp
sudo sockstat -46lq -P tcp,udp
+7
View File
@@ -0,0 +1,7 @@
netork-user nc 1331 3 udp4 127.0.0.1:7779 *:*
netork-user nc 1329 3 tcp6 [::1]:7777 *:*
netork-user nc 1327 3 tcp4 127.0.0.1:7778 *:*
root sshd 1282 6 tcp6 *:22 *:*
root sshd 1282 7 tcp4 *:22 *:*
root syslogd 1052 6 udp6 *:514 *:*
root syslogd 1052 7 udp4 *:514 *:*
@@ -0,0 +1,7 @@
netork-user nc 1331 3 udp4 127.0.0.1:7779 *:*
netork-user nc 1329 3 tcp6 [::1]:7777 *:*
netork-user nc 1327 3 tcp4 127.0.0.1:7778 *:*
root sshd 1282 6 tcp6 *:22 *:*
root sshd 1282 7 tcp4 *:22 *:*
root syslogd 1052 6 udp6 *:514 *:*
root syslogd 1052 7 udp4 *:514 *:*
+3
View File
@@ -30,3 +30,6 @@ sysctl -n vm.loadavg
which snmpd which snmpd
cat /etc/rc.conf.local cat /etc/rc.conf.local
id id
sudo fstat -n
fstat -n
netstat -an -f inet; netstat -an -f inet6
+358
View File
@@ -0,0 +1,358 @@
USER CMD PID FD DEV INUM MODE R/W SZ|DV
netork-u fstat 91367 text 4,3 77827 100555 r 22504
netork-u fstat 91367 wd 4,10 259200 40755 r 512
netork-u fstat 91367 0 pipe 0x0 state: E
netork-u fstat 91367 1 pipe 0x0 state:
netork-u fstat 91367 2 pipe 0x0 state:
netork-u ksh 30507 text 4,0 9621 100555 r 810120
netork-u ksh 30507 wd 4,10 259200 40755 r 512
netork-u ksh 30507 0 pipe 0x0 state: E
netork-u ksh 30507 1 pipe 0x0 state:
netork-u ksh 30507 2 pipe 0x0 state:
netork-u sshd-session 50639 text 4,3 181663 100511 r 1037592
netork-u sshd-session 50639 wd 4,0 2 40755 r 512
netork-u sshd-session 50639 0 4,0 15794 20666 rw 2,2
netork-u sshd-session 50639 1 4,0 15794 20666 rw 2,2
netork-u sshd-session 50639 2 4,0 15794 20666 rw 2,2
netork-u sshd-session 50639 3 4,0 15794 20666 rw 2,2
netork-u sshd-session 50639 4 4,0 15794 20666 rw 2,2
netork-u sshd-session 50639 5 4,0 15794 20666 rw 2,2
netork-u sshd-session 50639 6* unix stream 0x0
netork-u sshd-session 50639 7* internet stream tcp 0x0 10.0.2.15:22 <-- 10.0.2.2:53400
netork-u sshd-session 50639 9* unix stream 0x0
netork-u sshd-session 50639 11 pipe 0x0 state:
netork-u sshd-session 50639 13 pipe 0x0 state:
root sshd-session 61474 text 4,3 181663 100511 r 1037592
root sshd-session 61474 wd 4,0 2 40755 r 512
root sshd-session 61474 0 4,0 15794 20666 rw 2,2
root sshd-session 61474 1 4,0 15794 20666 rw 2,2
root sshd-session 61474 2 4,0 15794 20666 rw 2,2
root sshd-session 61474 3 4,0 15794 20666 rw 2,2
root sshd-session 61474 4 4,0 15794 20666 rw 2,2
root sshd-session 61474 5 4,0 15794 20666 rw 2,2
root sshd-session 61474 7* internet stream tcp 0x0 10.0.2.15:22 <-- 10.0.2.2:53400
root sshd-session 61474 8* unix stream 0x0
root sshd-session 61474 9* unix stream 0x0
netork-u nc 21021 text 4,3 77889 100555 r 46928
netork-u nc 21021 wd 4,10 259200 40755 r 512
netork-u nc 21021 0 4,0 15794 20666 r 2,2
netork-u nc 21021 1 4,0 15794 20666 w 2,2
netork-u nc 21021 2 4,0 15794 20666 w 2,2
netork-u nc 21021 3* internet dgram udp 127.0.0.1:7779
netork-u nc 28038 text 4,3 77889 100555 r 46928
netork-u nc 28038 wd 4,10 259200 40755 r 512
netork-u nc 28038 0 4,0 15794 20666 r 2,2
netork-u nc 28038 1 4,0 15794 20666 w 2,2
netork-u nc 28038 2 4,0 15794 20666 w 2,2
netork-u nc 28038 3* internet6 stream tcp 0x0 [::1]:7777
netork-u nc 55785 text 4,3 77889 100555 r 46928
netork-u nc 55785 wd 4,10 259200 40755 r 512
netork-u nc 55785 0 4,0 15794 20666 r 2,2
netork-u nc 55785 1 4,0 15794 20666 w 2,2
netork-u nc 55785 2 4,0 15794 20666 w 2,2
netork-u nc 55785 3* internet stream tcp 0x0 127.0.0.1:7778
root ctfconv 1042 text 4,3 77798 100555 r 74384
root ctfconv 1042 wd 4,3 26000 40755 r 57344
root ctfconv 1042 0 4,0 15794 20666 r 2,2
root ctfconv 1042 1 4,3 28486 100644 w 281
root ctfconv 1042 2 4,0 15794 20666 w 2,2
root ctfconv 1042 3 4,3 28485 100770 rp 246442808
root sh 19667 text 4,0 9621 100555 r 810120
root sh 19667 wd 4,3 26000 40755 r 57344
root sh 19667 0 4,0 15794 20666 r 2,2
root sh 19667 1 4,3 28486 100644 w 281
root sh 19667 2 4,0 15794 20666 wp 2,2
root sh 19667 10 4,3 77799 100555 rep 1895
root sh 19667 11 4,3 28486 100644 we 281
root sh 63450 text 4,0 9621 100555 r 810120
root sh 63450 wd 4,3 26000 40755 r 57344
root sh 63450 0 4,0 15794 20666 r 2,2
root sh 63450 1 4,3 28486 100644 w 281
root sh 63450 2 4,3 28486 100644 w 281
root make 70417 text 4,3 77880 100555 r 149416
root make 70417 wd 4,3 26000 40755 r 57344
root make 70417 0 4,0 15794 20666 r 2,2
root make 70417 1 4,3 28486 100644 w 281
root make 70417 2 4,3 28486 100644 w 281
root getty 51429 text 4,3 181471 100555 r 27864
root getty 51429 wd 4,0 2 40755 r 512
root getty 51429 0 4,0 15618 20600 rw 8,0
root getty 51429 1 4,0 15618 20600 rw 8,0
root getty 51429 2 4,0 15618 20600 rw 8,0
root ksh 80571 text 4,0 9621 100555 r 810120
root ksh 80571 wd 4,3 26000 40755 r 57344
root ksh 80571 0 4,0 15794 20666 r 2,2
root ksh 80571 1 4,3 28486 100644 wp 281
root ksh 80571 2 4,3 28486 100644 wp 281
root ksh 80571 10 4,3 181493 100555 rep 2252
root cron 92217 text 4,3 129625 100555 r 42888
root cron 92217 wd 4,0 2 40755 r 512
root cron 92217 0 4,0 15794 20666 rwp 2,2
root cron 92217 1 4,0 15794 20666 rwp 2,2
root cron 92217 2 4,0 15794 20666 rwp 2,2
root cron 92217 3* unix stream 0x0 /var/run/cron.sock
root qemu-ga 31480 text 4,7 77866 100755 r 1025656
root qemu-ga 31480 wd 4,0 2 40755 r 512
root qemu-ga 31480 0 4,0 15794 20666 rw 2,2
root qemu-ga 31480 1 4,0 15794 20666 rw 2,2
root qemu-ga 31480 2 4,0 15794 20666 rw 2,2
root qemu-ga 31480 3 pipe 0x0 state:
root qemu-ga 31480 4 pipe 0x0 state:
root qemu-ga 31480 5 4,0 15621 20660 rwe 8,129
root qemu-ga 31480 6 4,5 103717 100600 we 6
_sndio sndiod 83428 text 4,3 77957 100555 r 124144
_sndio sndiod 83428 wd 4,5 51840 40755 r 512
_sndio sndiod 83428 root 4,5 51840 40755 r 512
_sndio sndiod 83428 0 4,0 15794 20666 rw 2,2
_sndio sndiod 83428 1 4,0 15794 20666 rw 2,2
_sndio sndiod 83428 2 4,0 15794 20666 rw 2,2
_sndio sndiod 83428 3* unix stream 0x0
_sndio sndiod 83428 4* unix stream 0x0 /tmp/sndio/sock0
_sndiop sndiod 41459 text 4,3 77957 100555 r 124144
_sndiop sndiod 41459 wd 4,0 2 40755 r 512
_sndiop sndiod 41459 0 4,0 15794 20666 rw 2,2
_sndiop sndiod 41459 1 4,0 15794 20666 rw 2,2
_sndiop sndiod 41459 2 4,0 15794 20666 rw 2,2
_sndiop sndiod 41459 4* unix stream 0x0
_smtpd smtpd 25046 text 4,3 129738 100555 r 509536
_smtpd smtpd 25046 wd 4,5 51840 40755 r 512
_smtpd smtpd 25046 root 4,5 51840 40755 r 512
_smtpd smtpd 25046 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 25046 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 25046 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 25046 3* unix stream 0x0
_smtpd smtpd 25046 4* unix stream 0x0
_smtpd smtpd 25046 5* unix stream 0x0
_smtpd smtpd 25046 6 kqueue 0x0 0 state: W
_smtpq smtpd 68285 text 4,3 129738 100555 r 509536
_smtpq smtpd 68285 wd 4,5 233289 40711 r 512
_smtpq smtpd 68285 root 4,5 233289 40711 r 512
_smtpq smtpd 68285 0 4,0 15794 20666 rw 2,2
_smtpq smtpd 68285 1 4,0 15794 20666 rw 2,2
_smtpq smtpd 68285 2 4,0 15794 20666 rw 2,2
_smtpq smtpd 68285 3* unix stream 0x0
_smtpq smtpd 68285 4* unix stream 0x0
_smtpq smtpd 68285 5* unix stream 0x0
_smtpq smtpd 68285 6* unix stream 0x0
_smtpq smtpd 68285 7* unix stream 0x0
_smtpq smtpd 68285 8 kqueue 0x0 0 state: W
_smtpd smtpd 69044 text 4,3 129738 100555 r 509536
_smtpd smtpd 69044 wd 4,5 51840 40755 r 512
_smtpd smtpd 69044 root 4,5 51840 40755 r 512
_smtpd smtpd 69044 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 69044 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 69044 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 69044 3* unix stream 0x0
_smtpd smtpd 69044 4* unix stream 0x0
_smtpd smtpd 69044 5* unix stream 0x0
_smtpd smtpd 69044 6* unix stream 0x0
_smtpd smtpd 69044 7* unix stream 0x0
_smtpd smtpd 69044 8* internet6 stream tcp 0x0 [::1]:25
_smtpd smtpd 69044 9* internet6 stream tcp 0x0 [fe80::1%lo0]:25
_smtpd smtpd 69044 10* internet stream tcp 0x0 127.0.0.1:25
_smtpd smtpd 69044 11 kqueue 0x0 0 state: W
_smtpd smtpd 21897 text 4,3 129738 100555 r 509536
_smtpd smtpd 21897 wd 4,0 2 40755 r 512
_smtpd smtpd 21897 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 21897 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 21897 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 21897 3* unix stream 0x0
_smtpd smtpd 21897 4* unix stream 0x0
_smtpd smtpd 21897 5* unix stream 0x0
_smtpd smtpd 21897 6* unix stream 0x0
_smtpd smtpd 21897 7 kqueue 0x0 0 state: W
_smtpd smtpd 87615 text 4,3 129738 100555 r 509536
_smtpd smtpd 87615 wd 4,5 51840 40755 r 512
_smtpd smtpd 87615 root 4,5 51840 40755 r 512
_smtpd smtpd 87615 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 87615 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 87615 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 87615 3* unix stream 0x0
_smtpd smtpd 87615 4* unix stream 0x0
_smtpd smtpd 87615 5* unix stream 0x0
_smtpd smtpd 87615 6* unix stream 0x0
_smtpd smtpd 87615 7* unix stream 0x0
_smtpd smtpd 87615 8* unix stream 0x0
_smtpd smtpd 87615 9* unix stream 0x0 /var/run/smtpd.sock
_smtpd smtpd 87615 10 kqueue 0x0 0 state: W
_smtpd smtpd 15055 text 4,3 129738 100555 r 509536
_smtpd smtpd 15055 wd 4,5 51840 40755 r 512
_smtpd smtpd 15055 root 4,5 51840 40755 r 512
_smtpd smtpd 15055 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 15055 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 15055 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 15055 3* unix stream 0x0
_smtpd smtpd 15055 4* unix stream 0x0
_smtpd smtpd 15055 5* unix stream 0x0
_smtpd smtpd 15055 6 kqueue 0x0 0 state: W
root smtpd 73945 text 4,3 129738 100555 r 509536
root smtpd 73945 wd 4,0 2 40755 r 512
root smtpd 73945 0 4,0 15794 20666 rw 2,2
root smtpd 73945 1 4,0 15794 20666 rw 2,2
root smtpd 73945 2 4,0 15794 20666 rw 2,2
root smtpd 73945 3 kqueue 0x0 0 state: W
root smtpd 73945 4* unix stream 0x0
root smtpd 73945 5* unix stream 0x0
root smtpd 73945 6* unix stream 0x0
root smtpd 73945 7* unix stream 0x0
root smtpd 73945 8* unix stream 0x0
root smtpd 73945 9* unix stream 0x0
root sshd 91757 text 4,3 129784 100511 r 434816
root sshd 91757 wd 4,0 2 40755 r 512
root sshd 91757 0 4,0 15794 20666 rw 2,2
root sshd 91757 1 4,0 15794 20666 rw 2,2
root sshd 91757 2 4,0 15794 20666 rw 2,2
root sshd 91757 3 4,0 15794 20666 rw 2,2
root sshd 91757 4 4,0 15794 20666 rw 2,2
root sshd 91757 5 4,0 15794 20666 rw 2,2
root sshd 91757 6* internet stream tcp 0x0 *:22
root sshd 91757 7* internet6 stream tcp 0x0 *:22
root ntpd 60716 text 4,3 129691 100555 r 98648
root ntpd 60716 wd 4,0 2 40755 r 512
root ntpd 60716 0 4,0 15794 20666 rwp 2,2
root ntpd 60716 1 4,0 15794 20666 rwp 2,2
root ntpd 60716 2 4,0 15794 20666 rwp 2,2
root ntpd 60716 3* unix stream 0x0
root ntpd 60716 4 4,5 207754 100644 rw 0
root ntpd 60716 7* unix dgram 0x0
root ntpd 60716 10* unix dgram 0x0
root ntpd 60716 12* unix dgram 0x0
_ntp ntpd 7474 text 4,3 129691 100555 r 98648
_ntp ntpd 7474 wd 4,0 2 40755 r 512
_ntp ntpd 7474 0 4,0 15794 20666 rw 2,2
_ntp ntpd 7474 1 4,0 15794 20666 rw 2,2
_ntp ntpd 7474 2 4,0 15794 20666 rw 2,2
_ntp ntpd 7474 3* unix stream 0x0
_ntp ntpd 48073 text 4,3 129691 100555 r 98648
_ntp ntpd 48073 wd 4,5 51840 40755 r 512
_ntp ntpd 48073 root 4,5 51840 40755 r 512
_ntp ntpd 48073 0 4,0 15794 20666 rw 2,2
_ntp ntpd 48073 1 4,0 15794 20666 rw 2,2
_ntp ntpd 48073 2 4,0 15794 20666 rw 2,2
_ntp ntpd 48073 3* unix stream 0x0
_ntp ntpd 48073 4* unix stream 0x0
_ntp ntpd 48073 5* unix stream 0x0 /var/run/ntpd.sock
_ntp ntpd 48073 6* internet dgram udp 10.0.2.15:28171 <-> 162.159.200.123:123
_ntp ntpd 48073 7* internet dgram udp 10.0.2.15:3242 <-> 94.16.122.152:123
_ntp ntpd 48073 8* internet dgram udp 10.0.2.15:34016 <-> 212.95.49.48:123
_ntp ntpd 48073 9* internet dgram udp 10.0.2.15:23647 <-> 176.9.8.206:123
_ntp ntpd 48073 10* internet dgram udp 10.0.2.15:46142 <-> 162.159.200.1:123
_pflogd pflogd 94336 text 4,0 14531 100555 r 27384
_pflogd pflogd 94336 wd 4,5 51840 40755 r 512
_pflogd pflogd 94336 root 4,5 51840 40755 r 512
_pflogd pflogd 94336 0 4,0 15794 20666 rw 2,2
_pflogd pflogd 94336 1 4,0 15794 20666 rw 2,2
_pflogd pflogd 94336 2 4,0 15794 20666 rw 2,2
_pflogd pflogd 94336 3* unix stream 0x0
_pflogd pflogd 94336 4 4,0 15384 20600 r 23,0
_pflogd pflogd 94336 5 4,5 77776 100600 rw 24
root pflogd 2105 text 4,0 14531 100555 r 27384
root pflogd 2105 wd 4,0 2 40755 r 512
root pflogd 2105 0 4,0 15794 20666 rw 2,2
root pflogd 2105 1 4,0 15794 20666 rw 2,2
root pflogd 2105 2 4,0 15794 20666 rw 2,2
root pflogd 2105 3* unix stream 0x0
root pflogd 2105 4 4,0 15384 20600 r 23,0
root pflogd 2105 5 4,5 77776 100600 rw 24
_syslogd syslogd 9953 text 4,3 129744 100555 r 96280
_syslogd syslogd 9953 wd 4,5 51840 40755 r 512
_syslogd syslogd 9953 root 4,5 51840 40755 r 512
_syslogd syslogd 9953 0 4,0 15794 20666 rw 2,2
_syslogd syslogd 9953 1 4,0 15794 20666 rw 2,2
_syslogd syslogd 9953 2 4,0 15794 20666 rw 2,2
_syslogd syslogd 9953 4 - - bad -
_syslogd syslogd 9953 7* unix dgram 0x0 /dev/log
_syslogd syslogd 9953 8* unix dgram 0x0
_syslogd syslogd 9953 9 kqueue 0x0 0 state: W
_syslogd syslogd 9953 10 4,0 15800 20600 r 7,0
_syslogd syslogd 9953 12* unix stream 0x0
_syslogd syslogd 9953 14 4,5 77770 100644 wp 24319
_syslogd syslogd 9953 15 4,5 77763 100640 wp 20963
_syslogd syslogd 9953 16 4,5 77771 100600 wp 688
_syslogd syslogd 9953 17 4,5 181445 100600 wp 254
_syslogd syslogd 9953 18 4,5 77764 100640 wp 4175
_syslogd syslogd 9953 19 4,5 77773 100640 wp 0
_syslogd syslogd 9953 20 4,5 77768 100640 wp 0
_syslogd syslogd 9953 21 4,5 77769 100640 wp 2253
root syslogd 53846 text 4,3 129744 100555 r 96280
root syslogd 53846 wd 4,0 2 40755 r 512
root syslogd 53846 0 4,0 15794 20666 rw 2,2
root syslogd 53846 1 4,0 15794 20666 rw 2,2
root syslogd 53846 2 4,0 15794 20666 rw 2,2
root syslogd 53846 3* unix stream 0x0
root resolvd 6948 text 4,0 14534 100555 r 20288
root resolvd 6948 wd 4,0 2 40755 r 512
root resolvd 6948 0 4,0 15794 20666 rw 2,2
root resolvd 6948 1 4,0 15794 20666 rw 2,2
root resolvd 6948 2 4,0 15794 20666 rw 2,2
root resolvd 6948 3 4,0 15953 100600 rw 0
root resolvd 6948 4* route raw 0 0x0
root resolvd 6948 5 kqueue 0x0 0 state: W
root resolvd 6948 7 4,0 15964 100644 rwp 36
_dhcp dhcpleased 69874 text 4,0 14490 100555 r 89872
_dhcp dhcpleased 69874 wd 4,0 2 40755 r 512
_dhcp dhcpleased 69874 0 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 69874 1 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 69874 2 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 69874 3* unix stream 0x0
_dhcp dhcpleased 69874 4* internet dgram udp *:0
_dhcp dhcpleased 69874 5 kqueue 0x0 0 state: W
_dhcp dhcpleased 69874 6* unix stream 0x0
_dhcp dhcpleased 69874 7* route raw 0 0x0
_dhcp dhcpleased 69874 8* unix stream 0x0 /dev/dhcpleased.sock
_dhcp dhcpleased 69874 9 4,0 15384 20600 rw 23,0
_dhcp dhcpleased 69874 10* internet dgram udp 10.0.2.15:68
_dhcp dhcpleased 194 text 4,0 14490 100555 r 89872
_dhcp dhcpleased 194 wd 4,0 2 40755 r 512
_dhcp dhcpleased 194 0 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 194 1 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 194 2 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 194 3* unix stream 0x0
_dhcp dhcpleased 194 4 kqueue 0x0 0 state: W
_dhcp dhcpleased 194 5* unix stream 0x0
root dhcpleased 45126 text 4,0 14490 100555 r 89872
root dhcpleased 45126 wd 4,0 2 40755 r 512
root dhcpleased 45126 0 4,0 15794 20666 rw 2,2
root dhcpleased 45126 1 4,0 15794 20666 rw 2,2
root dhcpleased 45126 2 4,0 15794 20666 rw 2,2
root dhcpleased 45126 3 4,0 15951 100600 rw 0
root dhcpleased 45126 4* unix stream 0x0
root dhcpleased 45126 5* route raw 0 0x0
root dhcpleased 45126 6* unix stream 0x0
root dhcpleased 45126 7 kqueue 0x0 0 state: W
root dhcpleased 45126 8* internet dgram udp *:0
_slaacd slaacd 52336 text 4,0 14541 100555 r 77528
_slaacd slaacd 52336 wd 4,0 2 40755 r 512
_slaacd slaacd 52336 0 4,0 15794 20666 rw 2,2
_slaacd slaacd 52336 1 4,0 15794 20666 rw 2,2
_slaacd slaacd 52336 2 4,0 15794 20666 rw 2,2
_slaacd slaacd 52336 3* unix stream 0x0
_slaacd slaacd 52336 4* internet6 dgram udp *:0
_slaacd slaacd 52336 5 kqueue 0x0 0 state: W
_slaacd slaacd 52336 6* unix stream 0x0
_slaacd slaacd 52336 7* route raw 0 0x0
_slaacd slaacd 52336 8* unix stream 0x0 /dev/slaacd.sock
_slaacd slaacd 33677 text 4,0 14541 100555 r 77528
_slaacd slaacd 33677 wd 4,0 2 40755 r 512
_slaacd slaacd 33677 0 4,0 15794 20666 rw 2,2
_slaacd slaacd 33677 1 4,0 15794 20666 rw 2,2
_slaacd slaacd 33677 2 4,0 15794 20666 rw 2,2
_slaacd slaacd 33677 3* unix stream 0x0
_slaacd slaacd 33677 4 kqueue 0x0 0 state: W
_slaacd slaacd 33677 5* unix stream 0x0
root slaacd 29861 text 4,0 14541 100555 r 77528
root slaacd 29861 wd 4,0 2 40755 r 512
root slaacd 29861 0 4,0 15794 20666 rw 2,2
root slaacd 29861 1 4,0 15794 20666 rw 2,2
root slaacd 29861 2 4,0 15794 20666 rw 2,2
root slaacd 29861 3 4,0 15949 100600 rw 0
root slaacd 29861 4* unix stream 0x0
root slaacd 29861 5* route raw 0 0x0
root slaacd 29861 6* unix stream 0x0
root slaacd 29861 7 kqueue 0x0 0 state: W
root slaacd 29861 8* internet6 dgram udp *:0
root init 1 text 4,0 14506 100555 r 383784
root init 1 wd 4,0 2 40755 r 512
root init 1 0 4,0 15794 20666 rw 2,2
root init 1 1 4,0 15794 20666 rw 2,2
root init 1 2 4,0 15794 20666 rw 2,2
+27
View File
@@ -0,0 +1,27 @@
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address TCP-State
tcp 0 0 10.0.2.15.22 10.0.2.2.53414 ESTABLISHED
tcp 0 0 127.0.0.1.7778 *.* LISTEN
tcp 0 0 127.0.0.1.25 *.* LISTEN
tcp 0 0 *.22 *.* LISTEN
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address
udp 0 0 10.0.2.15.34016 212.95.49.48.123
udp 0 0 10.0.2.15.46142 162.159.200.1.123
udp 0 0 10.0.2.15.28171 162.159.200.123.123
udp 0 0 10.0.2.15.3242 94.16.122.152.123
udp 0 0 10.0.2.15.23647 176.9.8.206.123
udp 0 0 127.0.0.1.7779 *.*
udp 0 0 *.* *.*
udp 0 0 10.0.2.15.68 *.*
udp 0 0 *.* *.*
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address TCP-State
tcp6 0 0 fe80::1%lo0.25 *.* LISTEN
tcp6 0 0 ::1.7777 *.* LISTEN
tcp6 0 0 *.22 *.* LISTEN
tcp6 0 0 ::1.25 *.* LISTEN
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address
udp6 0 0 *.* *.*
udp6 0 0 *.* *.*
+367
View File
@@ -0,0 +1,367 @@
USER CMD PID FD DEV INUM MODE R/W SZ|DV
root fstat 68826 text 4,3 77827 100555 r 22504
root fstat 68826 wd 4,10 259200 40755 r 512
root fstat 68826 0 pipe 0xfffffd8070255418 state: E
root fstat 68826 1 pipe 0xfffffd8070255c68 state:
root fstat 68826 2 pipe 0xfffffd8070255a08 state:
root sudo 69356 text 4,7 77835 104555 r 280424
root sudo 69356 wd 4,10 259200 40755 r 512
root sudo 69356 0 pipe 0xfffffd8070255418 state: E
root sudo 69356 1 pipe 0xfffffd8070255c68 state:
root sudo 69356 2 pipe 0xfffffd8070255a08 state:
root sudo 69356 4 4,0 14624 100644 re 40960
root sudo 69356 5 pipe 0xfffffd8070255088 state:
root sudo 69356 6 pipe 0xfffffd8070255088 state:
root sudo 69356 7 4,0 15887 100440 re 1600
netork-u ksh 1767 text 4,0 9621 100555 r 810120
netork-u ksh 1767 wd 4,10 259200 40755 r 512
netork-u ksh 1767 1 pipe 0xfffffd8070255c68 state:
netork-u ksh 1767 2 pipe 0xfffffd8070255a08 state:
netork-u ksh 1767 10 pipe 0xfffffd80702558d8 state: E
netork-u sshd-session 82104 text 4,3 181663 100511 r 1037592
netork-u sshd-session 82104 wd 4,0 2 40755 r 512
netork-u sshd-session 82104 0 4,0 15794 20666 rw 2,2
netork-u sshd-session 82104 1 4,0 15794 20666 rw 2,2
netork-u sshd-session 82104 2 4,0 15794 20666 rw 2,2
netork-u sshd-session 82104 3 4,0 15794 20666 rw 2,2
netork-u sshd-session 82104 4 4,0 15794 20666 rw 2,2
netork-u sshd-session 82104 5 4,0 15794 20666 rw 2,2
netork-u sshd-session 82104 6* unix stream 0xfffffd806229f400 <-> 0xfffffd806229f1c0
netork-u sshd-session 82104 7* internet stream tcp 0xffff800000aef8a0 10.0.2.15:22 <-- 10.0.2.2:53394
netork-u sshd-session 82104 9* unix stream 0xfffffd806229f490
netork-u sshd-session 82104 11 pipe 0xfffffd8070255c68 state:
netork-u sshd-session 82104 13 pipe 0xfffffd8070255a08 state:
root sshd-session 27940 text 4,3 181663 100511 r 1037592
root sshd-session 27940 wd 4,0 2 40755 r 512
root sshd-session 27940 0 4,0 15794 20666 rw 2,2
root sshd-session 27940 1 4,0 15794 20666 rw 2,2
root sshd-session 27940 2 4,0 15794 20666 rw 2,2
root sshd-session 27940 3 4,0 15794 20666 rw 2,2
root sshd-session 27940 4 4,0 15794 20666 rw 2,2
root sshd-session 27940 5 4,0 15794 20666 rw 2,2
root sshd-session 27940 7* internet stream tcp 0xffff800000aef8a0 10.0.2.15:22 <-- 10.0.2.2:53394
root sshd-session 27940 8* unix stream 0xfffffd806229f1c0 <-> 0xfffffd806229f400
root sshd-session 27940 9* unix stream 0xfffffd806229f490
netork-u nc 21021 text 4,3 77889 100555 r 46928
netork-u nc 21021 wd 4,10 259200 40755 r 512
netork-u nc 21021 0 4,0 15794 20666 r 2,2
netork-u nc 21021 1 4,0 15794 20666 w 2,2
netork-u nc 21021 2 4,0 15794 20666 w 2,2
netork-u nc 21021 3* internet dgram udp 127.0.0.1:7779
netork-u nc 28038 text 4,3 77889 100555 r 46928
netork-u nc 28038 wd 4,10 259200 40755 r 512
netork-u nc 28038 0 4,0 15794 20666 r 2,2
netork-u nc 28038 1 4,0 15794 20666 w 2,2
netork-u nc 28038 2 4,0 15794 20666 w 2,2
netork-u nc 28038 3* internet6 stream tcp 0xffff800000aefb80 [::1]:7777
netork-u nc 55785 text 4,3 77889 100555 r 46928
netork-u nc 55785 wd 4,10 259200 40755 r 512
netork-u nc 55785 0 4,0 15794 20666 r 2,2
netork-u nc 55785 1 4,0 15794 20666 w 2,2
netork-u nc 55785 2 4,0 15794 20666 w 2,2
netork-u nc 55785 3* internet stream tcp 0xffff800000af0140 127.0.0.1:7778
root ctfconv 1042 text 4,3 77798 100555 r 74384
root ctfconv 1042 wd 4,3 26000 40755 r 57344
root ctfconv 1042 0 4,0 15794 20666 r 2,2
root ctfconv 1042 1 4,3 28486 100644 w 281
root ctfconv 1042 2 4,0 15794 20666 w 2,2
root ctfconv 1042 3 4,3 28485 100770 rp 246442808
root sh 19667 text 4,0 9621 100555 r 810120
root sh 19667 wd 4,3 26000 40755 r 57344
root sh 19667 0 4,0 15794 20666 r 2,2
root sh 19667 1 4,3 28486 100644 w 281
root sh 19667 2 4,0 15794 20666 wp 2,2
root sh 19667 10 4,3 77799 100555 rep 1895
root sh 19667 11 4,3 28486 100644 we 281
root sh 63450 text 4,0 9621 100555 r 810120
root sh 63450 wd 4,3 26000 40755 r 57344
root sh 63450 0 4,0 15794 20666 r 2,2
root sh 63450 1 4,3 28486 100644 w 281
root sh 63450 2 4,3 28486 100644 w 281
root make 70417 text 4,3 77880 100555 r 149416
root make 70417 wd 4,3 26000 40755 r 57344
root make 70417 0 4,0 15794 20666 r 2,2
root make 70417 1 4,3 28486 100644 w 281
root make 70417 2 4,3 28486 100644 w 281
root getty 51429 text 4,3 181471 100555 r 27864
root getty 51429 wd 4,0 2 40755 r 512
root getty 51429 0 4,0 15618 20600 rw 8,0
root getty 51429 1 4,0 15618 20600 rw 8,0
root getty 51429 2 4,0 15618 20600 rw 8,0
root ksh 80571 text 4,0 9621 100555 r 810120
root ksh 80571 wd 4,3 26000 40755 r 57344
root ksh 80571 0 4,0 15794 20666 r 2,2
root ksh 80571 1 4,3 28486 100644 wp 281
root ksh 80571 2 4,3 28486 100644 wp 281
root ksh 80571 10 4,3 181493 100555 rep 2252
root cron 92217 text 4,3 129625 100555 r 42888
root cron 92217 wd 4,0 2 40755 r 512
root cron 92217 0 4,0 15794 20666 rwp 2,2
root cron 92217 1 4,0 15794 20666 rwp 2,2
root cron 92217 2 4,0 15794 20666 rwp 2,2
root cron 92217 3* unix stream 0xfffffd806229f760 /var/run/cron.sock
root qemu-ga 31480 text 4,7 77866 100755 r 1025656
root qemu-ga 31480 wd 4,0 2 40755 r 512
root qemu-ga 31480 0 4,0 15794 20666 rw 2,2
root qemu-ga 31480 1 4,0 15794 20666 rw 2,2
root qemu-ga 31480 2 4,0 15794 20666 rw 2,2
root qemu-ga 31480 3 pipe 0xfffffd80702552e8 state:
root qemu-ga 31480 4 pipe 0xfffffd80702552e8 state:
root qemu-ga 31480 5 4,0 15621 20660 rwe 8,129
root qemu-ga 31480 6 4,5 103717 100600 we 6
_sndio sndiod 83428 text 4,3 77957 100555 r 124144
_sndio sndiod 83428 wd 4,5 51840 40755 r 512
_sndio sndiod 83428 root 4,5 51840 40755 r 512
_sndio sndiod 83428 0 4,0 15794 20666 rw 2,2
_sndio sndiod 83428 1 4,0 15794 20666 rw 2,2
_sndio sndiod 83428 2 4,0 15794 20666 rw 2,2
_sndio sndiod 83428 3* unix stream 0xfffffd806229f130 <-> 0xfffffd806229f010
_sndio sndiod 83428 4* unix stream 0xfffffd806229f0a0 /tmp/sndio/sock0
_sndiop sndiod 41459 text 4,3 77957 100555 r 124144
_sndiop sndiod 41459 wd 4,0 2 40755 r 512
_sndiop sndiod 41459 0 4,0 15794 20666 rw 2,2
_sndiop sndiod 41459 1 4,0 15794 20666 rw 2,2
_sndiop sndiod 41459 2 4,0 15794 20666 rw 2,2
_sndiop sndiod 41459 4* unix stream 0xfffffd806229f010 <-> 0xfffffd806229f130
_smtpd smtpd 25046 text 4,3 129738 100555 r 509536
_smtpd smtpd 25046 wd 4,5 51840 40755 r 512
_smtpd smtpd 25046 root 4,5 51840 40755 r 512
_smtpd smtpd 25046 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 25046 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 25046 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 25046 3* unix stream 0xfffffd80611a9bd8 <-> 0xfffffd80611a9098
_smtpd smtpd 25046 4* unix stream 0xfffffd80611a9908 <-> 0xfffffd80611a97e8
_smtpd smtpd 25046 5* unix stream 0xfffffd806229f2e0 <-> 0xfffffd806229f370
_smtpd smtpd 25046 6 kqueue 0xfffffd806549a2e8 0 state: W
_smtpq smtpd 68285 text 4,3 129738 100555 r 509536
_smtpq smtpd 68285 wd 4,5 233289 40711 r 512
_smtpq smtpd 68285 root 4,5 233289 40711 r 512
_smtpq smtpd 68285 0 4,0 15794 20666 rw 2,2
_smtpq smtpd 68285 1 4,0 15794 20666 rw 2,2
_smtpq smtpd 68285 2 4,0 15794 20666 rw 2,2
_smtpq smtpd 68285 3* unix stream 0xfffffd80611a9368 <-> 0xfffffd80611a9d88
_smtpq smtpd 68285 4* unix stream 0xfffffd80611a9638 <-> 0xfffffd80611a95a8
_smtpq smtpd 68285 5* unix stream 0xfffffd806229f640 <-> 0xfffffd806229f6d0
_smtpq smtpd 68285 6* unix stream 0xfffffd806229f5b0 <-> 0xfffffd806229f520
_smtpq smtpd 68285 7* unix stream 0xfffffd806229f370 <-> 0xfffffd806229f2e0
_smtpq smtpd 68285 8 kqueue 0xfffffd806549ac40 0 state: W
_smtpd smtpd 69044 text 4,3 129738 100555 r 509536
_smtpd smtpd 69044 wd 4,5 51840 40755 r 512
_smtpd smtpd 69044 root 4,5 51840 40755 r 512
_smtpd smtpd 69044 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 69044 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 69044 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 69044 3* unix stream 0xfffffd80611a9758 <-> 0xfffffd80611a92d8
_smtpd smtpd 69044 4* unix stream 0xfffffd80611a9518 <-> 0xfffffd80611a9488
_smtpd smtpd 69044 5* unix stream 0xfffffd80611a9c68 <-> 0xfffffd80611a9cf8
_smtpd smtpd 69044 6* unix stream 0xfffffd806229fac0 <-> 0xfffffd806229f880
_smtpd smtpd 69044 7* unix stream 0xfffffd806229f6d0 <-> 0xfffffd806229f640
_smtpd smtpd 69044 8* internet6 stream tcp 0xffff800000aefe60 [::1]:25
_smtpd smtpd 69044 9* internet6 stream tcp 0xffff800000aef5c0 [fe80::1%lo0]:25
_smtpd smtpd 69044 10* internet stream tcp 0xffff800000aef000 127.0.0.1:25
_smtpd smtpd 69044 11 kqueue 0xfffffd806549a510 0 state: W
_smtpd smtpd 21897 text 4,3 129738 100555 r 509536
_smtpd smtpd 21897 wd 4,0 2 40755 r 512
_smtpd smtpd 21897 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 21897 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 21897 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 21897 3* unix stream 0xfffffd80611a9998 <-> 0xfffffd80611a9878
_smtpd smtpd 21897 4* unix stream 0xfffffd80611a93f8 <-> 0xfffffd80611a9e18
_smtpd smtpd 21897 5* unix stream 0xfffffd806229f880 <-> 0xfffffd806229fac0
_smtpd smtpd 21897 6* unix stream 0xfffffd806229f520 <-> 0xfffffd806229f5b0
_smtpd smtpd 21897 7 kqueue 0xfffffd806549ae68 0 state: W
_smtpd smtpd 87615 text 4,3 129738 100555 r 509536
_smtpd smtpd 87615 wd 4,5 51840 40755 r 512
_smtpd smtpd 87615 root 4,5 51840 40755 r 512
_smtpd smtpd 87615 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 87615 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 87615 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 87615 3* unix stream 0xfffffd80611a9248 <-> 0xfffffd80611a9a28
_smtpd smtpd 87615 4* unix stream 0xfffffd80611a9128 <-> 0xfffffd80611a9ea8
_smtpd smtpd 87615 5* unix stream 0xfffffd80611a9e18 <-> 0xfffffd80611a93f8
_smtpd smtpd 87615 6* unix stream 0xfffffd80611a9488 <-> 0xfffffd80611a9518
_smtpd smtpd 87615 7* unix stream 0xfffffd80611a95a8 <-> 0xfffffd80611a9638
_smtpd smtpd 87615 8* unix stream 0xfffffd80611a97e8 <-> 0xfffffd80611a9908
_smtpd smtpd 87615 9* unix stream 0xfffffd806229f250 /var/run/smtpd.sock
_smtpd smtpd 87615 10 kqueue 0xfffffd806fb33e60 0 state: W
_smtpd smtpd 15055 text 4,3 129738 100555 r 509536
_smtpd smtpd 15055 wd 4,5 51840 40755 r 512
_smtpd smtpd 15055 root 4,5 51840 40755 r 512
_smtpd smtpd 15055 0 4,0 15794 20666 rw 2,2
_smtpd smtpd 15055 1 4,0 15794 20666 rw 2,2
_smtpd smtpd 15055 2 4,0 15794 20666 rw 2,2
_smtpd smtpd 15055 3* unix stream 0xfffffd80611a9008 <-> 0xfffffd80611a9ab8
_smtpd smtpd 15055 4* unix stream 0xfffffd80611a9ea8 <-> 0xfffffd80611a9128
_smtpd smtpd 15055 5* unix stream 0xfffffd80611a9cf8 <-> 0xfffffd80611a9c68
_smtpd smtpd 15055 6 kqueue 0xfffffd806549adb0 0 state: W
root smtpd 73945 text 4,3 129738 100555 r 509536
root smtpd 73945 wd 4,0 2 40755 r 512
root smtpd 73945 0 4,0 15794 20666 rw 2,2
root smtpd 73945 1 4,0 15794 20666 rw 2,2
root smtpd 73945 2 4,0 15794 20666 rw 2,2
root smtpd 73945 3 kqueue 0xfffffd806549a3a0 0 state: W
root smtpd 73945 4* unix stream 0xfffffd80611a9ab8 <-> 0xfffffd80611a9008
root smtpd 73945 5* unix stream 0xfffffd80611a9a28 <-> 0xfffffd80611a9248
root smtpd 73945 6* unix stream 0xfffffd80611a9878 <-> 0xfffffd80611a9998
root smtpd 73945 7* unix stream 0xfffffd80611a92d8 <-> 0xfffffd80611a9758
root smtpd 73945 8* unix stream 0xfffffd80611a9d88 <-> 0xfffffd80611a9368
root smtpd 73945 9* unix stream 0xfffffd80611a9098 <-> 0xfffffd80611a9bd8
root sshd 91757 text 4,3 129784 100511 r 434816
root sshd 91757 wd 4,0 2 40755 r 512
root sshd 91757 0 4,0 15794 20666 rw 2,2
root sshd 91757 1 4,0 15794 20666 rw 2,2
root sshd 91757 2 4,0 15794 20666 rw 2,2
root sshd 91757 3 4,0 15794 20666 rw 2,2
root sshd 91757 4 4,0 15794 20666 rw 2,2
root sshd 91757 5 4,0 15794 20666 rw 2,2
root sshd 91757 6* internet stream tcp 0xffff800000af0700 *:22
root sshd 91757 7* internet6 stream tcp 0xffff800000aef2e0 *:22
root ntpd 60716 text 4,3 129691 100555 r 98648
root ntpd 60716 wd 4,0 2 40755 r 512
root ntpd 60716 0 4,0 15794 20666 rwp 2,2
root ntpd 60716 1 4,0 15794 20666 rwp 2,2
root ntpd 60716 2 4,0 15794 20666 rwp 2,2
root ntpd 60716 3* unix stream 0xfffffd806f42bbd0 <-> 0xfffffd806f42bc60
root ntpd 60716 4 4,5 207754 100644 rw 0
root ntpd 60716 7* unix dgram 0xfffffd80611a9b48
root ntpd 60716 10* unix dgram 0xfffffd80611a96c8
root ntpd 60716 12* unix dgram 0xfffffd80611a91b8
_ntp ntpd 7474 text 4,3 129691 100555 r 98648
_ntp ntpd 7474 wd 4,0 2 40755 r 512
_ntp ntpd 7474 0 4,0 15794 20666 rw 2,2
_ntp ntpd 7474 1 4,0 15794 20666 rw 2,2
_ntp ntpd 7474 2 4,0 15794 20666 rw 2,2
_ntp ntpd 7474 3* unix stream 0xfffffd806f42be10 <-> 0xfffffd806f42bd80
_ntp ntpd 48073 text 4,3 129691 100555 r 98648
_ntp ntpd 48073 wd 4,5 51840 40755 r 512
_ntp ntpd 48073 root 4,5 51840 40755 r 512
_ntp ntpd 48073 0 4,0 15794 20666 rw 2,2
_ntp ntpd 48073 1 4,0 15794 20666 rw 2,2
_ntp ntpd 48073 2 4,0 15794 20666 rw 2,2
_ntp ntpd 48073 3* unix stream 0xfffffd806f42bc60 <-> 0xfffffd806f42bbd0
_ntp ntpd 48073 4* unix stream 0xfffffd806f42bd80 <-> 0xfffffd806f42be10
_ntp ntpd 48073 5* unix stream 0xfffffd806f42bea0 /var/run/ntpd.sock
_ntp ntpd 48073 6* internet dgram udp 10.0.2.15:28171 <-> 162.159.200.123:123
_ntp ntpd 48073 7* internet dgram udp 10.0.2.15:3242 <-> 94.16.122.152:123
_ntp ntpd 48073 8* internet dgram udp 10.0.2.15:34016 <-> 212.95.49.48:123
_ntp ntpd 48073 9* internet dgram udp 10.0.2.15:23647 <-> 176.9.8.206:123
_ntp ntpd 48073 10* internet dgram udp 10.0.2.15:46142 <-> 162.159.200.1:123
_pflogd pflogd 94336 text 4,0 14531 100555 r 27384
_pflogd pflogd 94336 wd 4,5 51840 40755 r 512
_pflogd pflogd 94336 root 4,5 51840 40755 r 512
_pflogd pflogd 94336 0 4,0 15794 20666 rw 2,2
_pflogd pflogd 94336 1 4,0 15794 20666 rw 2,2
_pflogd pflogd 94336 2 4,0 15794 20666 rw 2,2
_pflogd pflogd 94336 3* unix stream 0xfffffd806f42bab0 <-> 0xfffffd806f42ba20
_pflogd pflogd 94336 4 4,0 15384 20600 r 23,0
_pflogd pflogd 94336 5 4,5 77776 100600 rw 24
root pflogd 2105 text 4,0 14531 100555 r 27384
root pflogd 2105 wd 4,0 2 40755 r 512
root pflogd 2105 0 4,0 15794 20666 rw 2,2
root pflogd 2105 1 4,0 15794 20666 rw 2,2
root pflogd 2105 2 4,0 15794 20666 rw 2,2
root pflogd 2105 3* unix stream 0xfffffd806f42ba20 <-> 0xfffffd806f42bab0
root pflogd 2105 4 4,0 15384 20600 r 23,0
root pflogd 2105 5 4,5 77776 100600 rw 24
_syslogd syslogd 9953 text 4,3 129744 100555 r 96280
_syslogd syslogd 9953 wd 4,5 51840 40755 r 512
_syslogd syslogd 9953 root 4,5 51840 40755 r 512
_syslogd syslogd 9953 0 4,0 15794 20666 rw 2,2
_syslogd syslogd 9953 1 4,0 15794 20666 rw 2,2
_syslogd syslogd 9953 2 4,0 15794 20666 rw 2,2
_syslogd syslogd 9953 4 - - bad -
_syslogd syslogd 9953 7* unix dgram 0xfffffd806f42b5a0 /dev/log
_syslogd syslogd 9953 8* unix dgram 0xfffffd806f42b630 <-> 0xfffffd806f42b750
_syslogd syslogd 9953 9 kqueue 0xfffffd806fb33508 0 state: W
_syslogd syslogd 9953 10 4,0 15800 20600 r 7,0
_syslogd syslogd 9953 12* unix stream 0xfffffd806f42b900 <-> 0xfffffd806f42b7e0
_syslogd syslogd 9953 14 4,5 77770 100644 wp 24319
_syslogd syslogd 9953 15 4,5 77763 100640 wp 20433
_syslogd syslogd 9953 16 4,5 77771 100600 wp 688
_syslogd syslogd 9953 17 4,5 181445 100600 wp 254
_syslogd syslogd 9953 18 4,5 77764 100640 wp 4175
_syslogd syslogd 9953 19 4,5 77773 100640 wp 0
_syslogd syslogd 9953 20 4,5 77768 100640 wp 0
_syslogd syslogd 9953 21 4,5 77769 100640 wp 2253
root syslogd 53846 text 4,3 129744 100555 r 96280
root syslogd 53846 wd 4,0 2 40755 r 512
root syslogd 53846 0 4,0 15794 20666 rw 2,2
root syslogd 53846 1 4,0 15794 20666 rw 2,2
root syslogd 53846 2 4,0 15794 20666 rw 2,2
root syslogd 53846 3* unix stream 0xfffffd806f42b7e0 <-> 0xfffffd806f42b900
root resolvd 6948 text 4,0 14534 100555 r 20288
root resolvd 6948 wd 4,0 2 40755 r 512
root resolvd 6948 0 4,0 15794 20666 rw 2,2
root resolvd 6948 1 4,0 15794 20666 rw 2,2
root resolvd 6948 2 4,0 15794 20666 rw 2,2
root resolvd 6948 3 4,0 15953 100600 rw 0
root resolvd 6948 4* route raw 0 0xffff800010fe0458
root resolvd 6948 5 kqueue 0xfffffd806fb33678 0 state: W
root resolvd 6948 7 4,0 15964 100644 rwp 36
_dhcp dhcpleased 69874 text 4,0 14490 100555 r 89872
_dhcp dhcpleased 69874 wd 4,0 2 40755 r 512
_dhcp dhcpleased 69874 0 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 69874 1 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 69874 2 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 69874 3* unix stream 0xfffffd806f42b1b0 <-> 0xfffffd806f42b240
_dhcp dhcpleased 69874 4* internet dgram udp *:0
_dhcp dhcpleased 69874 5 kqueue 0xfffffd806fb33730 0 state: W
_dhcp dhcpleased 69874 6* unix stream 0xfffffd806f42b090 <-> 0xfffffd806f42b2d0
_dhcp dhcpleased 69874 7* route raw 0 0xffff800010fe0680
_dhcp dhcpleased 69874 8* unix stream 0xfffffd806f42b360 /dev/dhcpleased.sock
_dhcp dhcpleased 69874 9 4,0 15384 20600 rw 23,0
_dhcp dhcpleased 69874 10* internet dgram udp 10.0.2.15:68
_dhcp dhcpleased 194 text 4,0 14490 100555 r 89872
_dhcp dhcpleased 194 wd 4,0 2 40755 r 512
_dhcp dhcpleased 194 0 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 194 1 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 194 2 4,0 15794 20666 rw 2,2
_dhcp dhcpleased 194 3* unix stream 0xfffffd806f42b000 <-> 0xfffffd806f42b120
_dhcp dhcpleased 194 4 kqueue 0xfffffd806fb338a0 0 state: W
_dhcp dhcpleased 194 5* unix stream 0xfffffd806f42b2d0 <-> 0xfffffd806f42b090
root dhcpleased 45126 text 4,0 14490 100555 r 89872
root dhcpleased 45126 wd 4,0 2 40755 r 512
root dhcpleased 45126 0 4,0 15794 20666 rw 2,2
root dhcpleased 45126 1 4,0 15794 20666 rw 2,2
root dhcpleased 45126 2 4,0 15794 20666 rw 2,2
root dhcpleased 45126 3 4,0 15951 100600 rw 0
root dhcpleased 45126 4* unix stream 0xfffffd806f42b240 <-> 0xfffffd806f42b1b0
root dhcpleased 45126 5* route raw 0 0xffff800010fe19e8
root dhcpleased 45126 6* unix stream 0xfffffd806f42b120 <-> 0xfffffd806f42b000
root dhcpleased 45126 7 kqueue 0xfffffd806fb33958 0 state: W
root dhcpleased 45126 8* internet dgram udp *:0
_slaacd slaacd 52336 text 4,0 14541 100555 r 77528
_slaacd slaacd 52336 wd 4,0 2 40755 r 512
_slaacd slaacd 52336 0 4,0 15794 20666 rw 2,2
_slaacd slaacd 52336 1 4,0 15794 20666 rw 2,2
_slaacd slaacd 52336 2 4,0 15794 20666 rw 2,2
_slaacd slaacd 52336 3* unix stream 0xfffffd806f42bb40 <-> 0xfffffd806f42bcf0
_slaacd slaacd 52336 4* internet6 dgram udp *:0
_slaacd slaacd 52336 5 kqueue 0xfffffd806fb33b80 0 state: W
_slaacd slaacd 52336 6* unix stream 0xfffffd806f42b6c0 <-> 0xfffffd806f42b480
_slaacd slaacd 52336 7* route raw 0 0xffff800000a84ac8
_slaacd slaacd 52336 8* unix stream 0xfffffd806f42b3f0 /dev/slaacd.sock
_slaacd slaacd 33677 text 4,0 14541 100555 r 77528
_slaacd slaacd 33677 wd 4,0 2 40755 r 512
_slaacd slaacd 33677 0 4,0 15794 20666 rw 2,2
_slaacd slaacd 33677 1 4,0 15794 20666 rw 2,2
_slaacd slaacd 33677 2 4,0 15794 20666 rw 2,2
_slaacd slaacd 33677 3* unix stream 0xfffffd806f42b870 <-> 0xfffffd806f42b990
_slaacd slaacd 33677 4 kqueue 0xfffffd806fb33ac8 0 state: W
_slaacd slaacd 33677 5* unix stream 0xfffffd806f42b480 <-> 0xfffffd806f42b6c0
root slaacd 29861 text 4,0 14541 100555 r 77528
root slaacd 29861 wd 4,0 2 40755 r 512
root slaacd 29861 0 4,0 15794 20666 rw 2,2
root slaacd 29861 1 4,0 15794 20666 rw 2,2
root slaacd 29861 2 4,0 15794 20666 rw 2,2
root slaacd 29861 3 4,0 15949 100600 rw 0
root slaacd 29861 4* unix stream 0xfffffd806f42bcf0 <-> 0xfffffd806f42bb40
root slaacd 29861 5* route raw 0 0xffff800000a848a0
root slaacd 29861 6* unix stream 0xfffffd806f42b990 <-> 0xfffffd806f42b870
root slaacd 29861 7 kqueue 0xfffffd806fb33cf0 0 state: W
root slaacd 29861 8* internet6 dgram udp *:0
root init 1 text 4,0 14506 100555 r 383784
root init 1 wd 4,0 2 40755 r 512
root init 1 0 4,0 15794 20666 rw 2,2
root init 1 1 4,0 15794 20666 rw 2,2
root init 1 2 4,0 15794 20666 rw 2,2
+31
View File
@@ -193,3 +193,34 @@ class TestAccountsAndProcesses:
"schedule": "0 4 * * *", "schedule": "0 4 * * *",
"command": "/home/netork/backup.sh", "command": "/home/netork/backup.sh",
} in jobs } in jobs
class TestListeningSockets:
def test_freebsd_as_root_is_attributed(self):
driver = _driver(FreeBSDDriver, {})
sockstat = _read("freebsd-vm", "sudo_sockstat_46lq_P_tcp_udp.txt")
driver.run_command = lambda command, privileged=False, timeout=60, stdin=None: ( # type: ignore[method-assign]
type("R", (), {"stdout": sockstat, "exit_code": 0})()
)
result = driver.get_listening_sockets()
assert result["attributed"] is True
assert len(result["sockets"]) == 7
def test_openbsd_without_root_falls_back_to_netstat(self):
driver = _driver(OpenBSDDriver, {})
netstat = _read("openbsd-vm", "netstat_an.txt")
calls = []
def run(command, privileged=False, timeout=60, stdin=None):
calls.append((command, privileged))
if privileged: # sudo -n without a password: refused
return type("R", (), {"stdout": "", "exit_code": 1})()
return type("R", (), {"stdout": netstat, "exit_code": 0})()
driver.run_command = run # type: ignore[method-assign]
result = driver.get_listening_sockets()
assert result["attributed"] is False
assert ("tcp", "0.0.0.0", 22) in {
(s["proto"], s["address"], s["port"]) for s in result["sockets"]
}
assert calls == [("fstat -n", True), (OpenBSDDriver.LISTENING_FALLBACK_COMMAND, False)]
+56
View File
@@ -213,3 +213,59 @@ class TestBoottime:
def test_garbage(self): def test_garbage(self):
assert parse.boottime("sysctl: unknown oid") is None assert parse.boottime("sysctl: unknown oid") is None
class TestListeningSockets:
"""In the shape of napalm-device-types' ListeningSocketDict: ``0.0.0.0`` and
``::`` are every address of their family, as ``ss`` prints them."""
@staticmethod
def _keys(sockets):
return {(s["proto"], s["address"], s["port"], s["interface"]) for s in sockets}
def test_freebsd_sockstat(self):
sockets = parse.sockstat(fixture("freebsd-vm", "sudo_sockstat_46lq_P_tcp_udp.txt"))
assert self._keys(sockets) == {
("udp", "127.0.0.1", 7779, None),
("tcp", "::1", 7777, None),
("tcp", "127.0.0.1", 7778, None),
("tcp", "::", 22, None),
("tcp", "0.0.0.0", 22, None),
("udp", "::", 514, None),
("udp", "0.0.0.0", 514, None),
}
sshd = next(s for s in sockets if s["port"] == 22 and s["address"] == "0.0.0.0")
assert (sshd["process"], sshd["pid"], sshd["unit"], sshd["container_id"]) == (
"sshd",
1282,
None,
None,
)
def test_openbsd_fstat_keeps_only_listening_and_bound_sockets(self):
sockets = parse.fstat_sockets(fixture("openbsd-vm", "sudo_fstat_n.txt"))
keys = self._keys(sockets)
assert ("tcp", "0.0.0.0", 22, None) in keys
assert ("tcp", "::", 22, None) in keys
assert ("tcp", "::1", 25, None) in keys
assert ("tcp", "fe80::1", 25, "lo0") in keys
assert ("udp", "10.0.2.15", 68, None) in keys
assert ("udp", "127.0.0.1", 7779, None) in keys
# connected (ntpd, ssh sessions) and unbound (*:0) sockets are not listening
assert not any(s["port"] in (0, 123) or s["process"] == "sshd-session" for s in sockets)
smtpd = next(s for s in sockets if s["port"] == 25 and s["address"] == "127.0.0.1")
assert (smtpd["process"], smtpd["pid"]) == ("smtpd", 69044)
def test_openbsd_netstat_without_root_names_no_process(self):
sockets = parse.netstat_listening(fixture("openbsd-vm", "netstat_an.txt"))
keys = self._keys(sockets)
assert ("tcp", "0.0.0.0", 22, None) in keys
assert ("tcp", "::", 22, None) in keys
assert ("tcp", "fe80::1", 25, "lo0") in keys
assert ("udp", "127.0.0.1", 7779, None) in keys
assert all(s["process"] is None and s["pid"] is None for s in sockets)
assert not any(s["port"] == 123 for s in sockets) # ntpd's connected sockets
def test_a_socket_held_by_two_processes_is_listed_once(self):
text = "www nginx 901 6 tcp4 *:80 *:*\nwww nginx 900 6 tcp4 *:80 *:*\n"
assert [(s["pid"]) for s in parse.sockstat(text)] == [901]