Checking who is listening on a Unix Domain Socket


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Checking who is listening on a Unix Domain Socket
# 1  
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?
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
Login or Register to Ask a Question
FSOCKOPEN(3)								 1							      FSOCKOPEN(3)

fsockopen - Open Internet or Unix domain socket connection

SYNOPSIS
resource fsockopen (string $hostname, [int $port = -1], [int &$errno], [string &$errstr], [float $timeout = ini_get("default_socket_timeout")]) DESCRIPTION
Initiates a socket connection to the resource specified by $hostname. PHP supports targets in the Internet and Unix domains as described in "List of Supported Socket Transports". A list of supported trans- ports can also be retrieved using stream_get_transports(3). The socket will by default be opened in blocking mode. You can switch it to non-blocking mode by using stream_set_blocking(3). The function stream_socket_client(3) is similar but provides a richer set of options, including non-blocking connection and the ability to provide a stream context. PARAMETERS
o $hostname - If OpenSSL support is installed, you may prefix the $hostname with either ssl:// or tls:// to use an SSL or TLS client connec- tion over TCP/IP to connect to the remote host. o $port - The port number. This can be omitted and skipped with -1 for transports that do not use ports, such as unix://. o $errno - If provided, holds the system level error number that occurred in the system-level connect() call. If the value returned in $errno is 0 and the function returned FALSE, it is an indication that the error occurred before the connect() call. This is most likely due to a problem initializing the socket. o $errstr - The error message as a string. o $timeout - The connection timeout, in seconds. Note If you need to set a timeout for reading/writing data over the socket, use stream_set_timeout(3), as the $timeout parameter to fsockopen(3) only applies while connecting the socket. RETURN VALUES
fsockopen(3) returns a file pointer which may be used together with the other file functions (such as fgets(3), fgetss(3), fwrite(3), fclose(3), and feof(3)). If the call fails, it will return FALSE ERRORS
/EXCEPTIONS Throws E_WARNING if $hostname is not a valid domain. EXAMPLES
Example #1 fsockopen(3) Example <?php $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br /> "; } else { $out = "GET / HTTP/1.1 "; $out .= "Host: www.example.com "; $out .= "Connection: Close "; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } ?> Example #2 Using UDP connection The example below shows how to retrieve the day and time from the UDP service "daytime" (port 13) in your own machine. <?php $fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr); if (!$fp) { echo "ERROR: $errno - $errstr<br /> "; } else { fwrite($fp, " "); echo fread($fp, 26); fclose($fp); } ?> NOTES
Note Depending on the environment, the Unix domain or the optional connect timeout may not be available. Warning UDP sockets will sometimes appear to have opened without an error, even if the remote host is unreachable. The error will only become apparent when you read or write data to/from the socket. The reason for this is because UDP is a "connectionless" protocol, which means that the operating system does not try to establish a link for the socket until it actually needs to send or receive data. Note When specifying a numerical IPv6 address (e.g. fe80::1), you must enclose the IP in square brackets--for example, tcp://[fe80::1]:80. SEE ALSO
pfsockopen(3), stream_socket_client(3), stream_set_blocking(3), stream_set_timeout(3), fgets(3), fgetss(3), fwrite(3), fclose(3), feof(3), socket_connect(3), The Curl extension. PHP Documentation Group FSOCKOPEN(3)