class

Miniss::Sockets

Inherits Reference < Object

Sockets object has properties containing arrays of Sockets from the parsed sockets files of a base folder (default: /proc/net).

Example:

sockets = Miniss::Sockets.new                   # parse `/proc/net`
sockets = Miniss::Sockets.new("/proc/1234/net") # parse the net folder of a given process
sockets.tcpv4.each do |so|
  puts "#{so.laddr} <-> #{so.raddr}"
end

Constructors

new(base : String = "/proc/net")

Initialize Sockets class.

By default sockets files are parsed from /proc/net but another base folder can be set, e.g. /proc/1234/net to list the sockets of a given process ID.

NOTE: Missing or unreadable sockets files (not every process exposes all of tcp, tcp6, udp, udp6) are silently skipped.

Source

Instance methods

all

Returns all sockets

Source
base

Base folder containing the sockets files (tcp, tcp6, udp, udp6).

Source
parse_tcpv4

Parse all IPv4 TCP sockets from <base>/tcp (e.g. /proc/net/tcp).

Source
parse_tcpv6

Parse all IPv6 TCP sockets from <base>/tcp6 (e.g. /proc/net/tcp6).

Source
parse_udpv4

Parse all IPv4 UDP sockets from <base>/udp (e.g. /proc/net/udp).

Source
parse_udpv6

Parse all IPv6 UDP sockets from <base>/udp6 (e.g. /proc/net/udp6).

Source
tcpv4

Returns all IPv4 TCP sockets

Source
tcpv6

Returns all IPv6 TCP sockets

Source
udpv4

Returns all IPv4 UDP sockets

Source
udpv6

Returns all IPv6 UDP sockets

Source