Именованные локальные сокеты, как и именованные каналы, предназначаются для взаимодействия неродственных процессов и широко распространены в системе.
В листинге ниже показаны сокеты разных служб операционной системы и их процессы-владельцы, выясненные при помощи утилиты fuser.
Так, например, сокет /run/wpa_suppllcant/wlan0 используется для внешнего управления W:[WPA] «просителем» (предназначен для выполнения аутентификации при подключении к беспроводным сетям) wpa_supplicant, в частности при помощи утилиты wpa_cli, что проиллюстрировано при помощи трассировки «сокетных» системных вызовов socket, connect, send и recv.
Именованные локальные (файловые) сокеты
fitz@ubuntu:~$ sudo find /run -type s
[sudo] password for fitz:
/run/wpa_suppllcant/wlanG
/run/nscd/socket
/run/acpid.socket
/run/avahi-daemon/socket
/ run/cups/cups. sock
/run/dbus/system_bus_socket
/run/udev/control
fitz@ubuntu:~$ sudo fuser -v /run/wpa_supplicant/wlan0 /run/udev/control /run/nscd/socket
ПОЛЬЗ-ЛЬ PID ДОСТУП КОМАНДА
/run/wpa_supplicant/wlan0:
root 1353 F…. wpa_supplicant
/run/udev/control: root 397 F…. udevd
/run/nscd/socket: root 31825 F…. nscd
fitz@ubuntu:~$ sudo ls -l /run/wpa_supplicant/wlan0
srwxrwx— 1 root root 0 февр. 28 09:11 /run/wpa_supplicant/wlan0
fitz@ubuntu:~$ sudo strace -fe socket,connect,send,recv wpa_cli status
Selected Interface ‘wlan0’
socket(PF_FILE, SOCK_DGRAM, 0) =3
connect(3, {sa_fapri.ly=AF_FILE, path=»7var/run/wpa_supplicant/wlan0″}, 110) = 0
send(3, «STATUS», 6, 0) =6
recv(3, «bssid=9c:37:f4:76:c5:68\nssld=474″…, 2047, 0) = 153
bssid=9c:37:f4:76:c5:68
ssid=474
id=0
modelstatlon
pairwlse_cipher=CCMP
group_cipher=TKIP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=:192.168.100.4