Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Checking who is listening on a Unix Domain Socket Post 302206870 by blank87 on Wednesday 18th of June 2008 02:35:02 PM
Old 06-18-2008
Checking who is listening on a Unix Domain Socket

Hi all,

I'm writing a kernel module and part of it involves controlling IPCs between processes. My problem is when a process tries to connect to a Unix domain socket, the only identifying information of the socket it supplies (that I can see, anyway) is the special pathname of the socket. From the pathname, I need to find out what process is binded/listening on it. Is there an easy way to do this? I would imagine that some data structures and functions in the kernel already would help with this but I just can't find anything helpful. Anyone know how to do this?
 

10 More Discussions You Might Find Interesting

1. IP Networking

Unix Domain

hello, how can we create a domain in unix operating systems. By domain i mean which is used to maintain remote user logins and etc. cheers (1 Reply)
Discussion started by: vibhory2j
1 Replies

2. UNIX for Dummies Questions & Answers

UNIX in MS Win2003 Domain

Hi, Can I make a UNIX or LINUX machine a member of MS Active Directory 2003? How? Regards Leo (4 Replies)
Discussion started by: Teamplay
4 Replies

3. UNIX for Dummies Questions & Answers

Adding a Unix machine to the domain

Hiya, what is the exact command to add a Unix machine to the existing domain? Is this command different for Linux/HP-Ux? thanks (3 Replies)
Discussion started by: Wize
3 Replies

4. UNIX for Dummies Questions & Answers

Joining UNIX to a Windows2003 Domain

Hey everyone, We have a Windows2003 Domain here at my workplace. I'm getting ready to switch over our bottom floor to the new domain. Will they still be able to see our UNIX machine that is setup now (on our workgroup) or will I need to join the UNIX machine to the domain. If that is the case... (4 Replies)
Discussion started by: Duki
4 Replies

5. UNIX for Advanced & Expert Users

UNIX domain sockets vs FIFOs

Is there a performance advantage of one of these over the other? Obviously, it makes no sense to use normal TCP sockets or UDP sockets w/ the overhead they carry. But what about UNIX domain sockets vs FIFOs? I'd think they'd be very similar, in terms of performance and in terms of how they're... (2 Replies)
Discussion started by: mgessner
2 Replies

6. UNIX for Advanced & Expert Users

Unix: socket & Co

Hello, I need help to replace the ................. of client.c that request the server implemented by server.c ------------------ Listing 1 - server.c /* Inclusion des différentes librairies nécessaires */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> ... (0 Replies)
Discussion started by: bounkolh
0 Replies

7. Windows & DOS: Issues & Discussions

How to: Linux BOX in Windows Domain (w/out joining the domain)

Dear Expert, i have linux box that is running in the windows domain, BUT did not being a member of the domain. as I am not the System Administrator so I have no control on the server in the network, such as modify dns entry , add the linux box in AD and domain record and so on that relevant. ... (2 Replies)
Discussion started by: regmaster
2 Replies

8. IP Networking

Clarification - Setting socket options at the same time when socket is listening

I need clarification on whether it is okay to set socket options on a listening socket simultaneously when it is being used in an accept() call? Following is the scenario:- -- Task 1 - is executing in a loop - polling a listen socket, lets call it 'fd', (whose file descriptor is global)... (2 Replies)
Discussion started by: jake24
2 Replies

9. Programming

Unix Socket

Hai every one ,,, I am runinng one tcp socket in non-blocking mode. In the connect state(operation in progress) if the server is not running ,client socket select will give success. FD_ISSET(socketfd,&wfd) will give me succes always and am getting wfd value as 16. I tried with blocking... (6 Replies)
Discussion started by: andrew.paul
6 Replies

10. Shell Programming and Scripting

Is my Socket Free or Listening

Hi, bash-3.2$ uname -a Linux mymac 2.6.18-409.el5 #1 SMP Fri Feb 12 06:37:28 EST 2016 x86_64 x86_64 x86_64 GNU/Linux bash-3.2$ telnet 10.12.228.40 13900 Trying 10.12.228.40... telnet: connect to address 10.12.228.40: Connection refused bash-3.2$ telnet 10.12.228.40 23900 Trying... (2 Replies)
Discussion started by: mohtashims
2 Replies
CURLOPT_UNIX_SOCKET_PATH(3)				     curl_easy_setopt options				       CURLOPT_UNIX_SOCKET_PATH(3)

NAME
CURLOPT_UNIX_SOCKET_PATH - set Unix domain socket SYNOPSIS
#include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNIX_SOCKET_PATH, char *path); DESCRIPTION
Enables the use of Unix domain sockets as connection endpoint and sets the path to path. If path is NULL, then Unix domain sockets are dis- abled. An empty string will result in an error at some point, it will not disable use of Unix domain sockets. When enabled, curl will connect to the Unix domain socket instead of establishing a TCP connection to a host. Since no TCP connection is created, curl does not need to resolve the DNS hostname in the URL. The maximum path length on Cygwin, Linux and Solaris is 107. On other platforms it might be even less. Proxy and TCP options such as CURLOPT_TCP_NODELAY(3) are not supported. Proxy options such as CURLOPT_PROXY(3) have no effect either as these are TCP-oriented, and asking a proxy server to connect to a certain Unix domain socket is not possible. The application does not have to keep the string around after setting this option. DEFAULT
Default is NULL, meaning that no Unix domain sockets are used. PROTOCOLS
All protocols except for file:// and FTP are supported in theory. HTTP, IMAP, POP3 and SMTP should in particular work (including their SSL/TLS variants). EXAMPLE
Given that you have an nginx server running, listening on /tmp/nginx.sock, you can request a HTTP resource with: curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, "/tmp/nginx.sock"); curl_easy_setopt(curl_handle, CURLOPT_URL, "http://localhost/"); If you are on Linux and somehow have a need for paths larger than 107 bytes, you could use the proc filesystem to bypass the limitation: int dirfd = open(long_directory_path_to_socket, O_DIRECTORY | O_RDONLY); char path[108]; snprintf(path, sizeof(path), "/proc/self/fd/%d/nginx.sock", dirfd); curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, path); /* Be sure to keep dirfd valid until you discard the handle */ AVAILABILITY
Since 7.40.0. RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. SEE ALSO
CURLOPT_OPENSOCKETFUNCTION(3), unix(7), libcurl 7.54.0 December 21, 2016 CURLOPT_UNIX_SOCKET_PATH(3)
All times are GMT -4. The time now is 09:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy