Sponsored Content
Operating Systems AIX Process running but not listening Post 302704731 by abohmeed on Sunday 23rd of September 2012 12:53:40 AM
Old 09-23-2012
Quote:
Originally Posted by bakunin
Such a thing is impossible by design of the IP-stack. Let me elaborate:

First, what is a port: a port is an address on layer 4 of the network stack - just like the IP-address is an address on layer 3 (and the MAC address on layer 2). Other than the IP address it identifies a service rather than a host. There are 2 bytes identifying the port and therefore there are 65535 possible ports. Think of it like appartments to a house: the IP address identifies the house itself, the port number identifies the appartment. if you ring at different doors, different people will open, even if you are still in the same house. Some might not open at all, because the apartment is empty.

Communication now works in this way: behind any port(-number) a daemon can listen and offer some service - or not. If a daemon indeed listens it will pick up what comes its way and somehow react - by answering, by doing something, establishing a connection, whatever. Some ports, especially the ones up to # 1023, are for offering standard services: telnet, ftp, http, ssh, lpd, .... and so on. These are called "well known services" and only root can start a process using these ports. Usually a symbolic name is defined for these ports - see "/etc/services" - but this is not necessary.

You can even try this with a printer: if you have a network printer it sure runs a "lpd" daemon. This listens at port 515 per default. Using your telnet client (it allows to configure the port used) try:

Code:
telnet printer.yournetwork.com 515

Of course you will not get any telnet connection - the lpd speaks lpd and not telnet - but you will probably get some banner, identifying the printer. Something like "HP JetDirect Line Printer daemon v1.23 .....", maybe listing some EPROM software revision or so before it closes the connection.

If no daemon is listening, there is simply no answer. If you attempt to initiate a communication with a remote port where no daemon listens you get a "connection refused" answer usually, but this comes from your system, not the remote one - the remote one is simply not saying anything at all.

You see, there is no "closed" ports because ports can neither be closed nor opened. They are just listened at - or not. The daemon listening itself can of course terminate a certain connection and send your system the message "connection closed" - but this does not "close" any port, it just terminates the status that to a certain port someone is listening - if using some specific port was part of the session setup. Some daemons are contacted at a common port, then set up connections at different ports (above 1024) and listen again at the common port for new sessions.

I hope this helps.

bakunin
Thanks kindly for your time and effort and i really appreciate your elaboration,
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

How to create a dummy process of a process already running?

Hi Everybody, I want to create a shell script named as say "jip" and it is runned. And i want that when i do ps + grep for the process than this jip should be shown as process. Infact there might be process with name jip which is already running. (3 Replies)
Discussion started by: shambhu
3 Replies

2. UNIX for Dummies Questions & Answers

What prot is a process listening on?

Hi, Bit of a newbie question . . . How can I detrimine what TCP port a particular process is listening on? TIA. (2 Replies)
Discussion started by: Le Badger
2 Replies

3. Shell Programming and Scripting

script to monitor process running on server and posting a mail if any process is dead

Hello all, I would be happy if any one could help me with a shell script that would determine all the processes running on a Unix server and post a mail if any of the process is not running or aborted. Thanks in advance Regards, pradeep kulkarni. :mad: (13 Replies)
Discussion started by: pradeepmacha
13 Replies

4. Red Hat

No process ID for listening ports

How can I have ports that are listening without processes being associated with them? root@ldv002 # netstat -ltnup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0... (2 Replies)
Discussion started by: Padow
2 Replies

5. UNIX for Dummies Questions & Answers

Running different process from current process?

I have been having some trouble trying to get some code working, so I was wondering...what system calls are required to execute a different program from an already running process? (1 Reply)
Discussion started by: Midwest Product
1 Replies

6. UNIX for Dummies Questions & Answers

How a process can check if a particular process is running on different machine?

I have process1 running on one machine and generating some log file. Now another process which can be launched on any machine wants to know if process1 is running or not and also in case it is running it wants to stream the logs file generated by process1 on terminal from which process2 is... (2 Replies)
Discussion started by: saurabhnsit2001
2 Replies

7. BSD

Process remians in Running state causing other similar process to sleep and results to system hang

Hi Experts, I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state. On doing cat /proc/<pid>wchan showing the "__init_begin" in the output. Can you please help me here... (0 Replies)
Discussion started by: naveeng
0 Replies

8. UNIX for Advanced & Expert Users

Process remians in Running state causing other similar process to sleep and results to system hang

Hi Experts, I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state. On doing cat /proc/<pid>wchan showing the "__init_begin" in the output. Can you please help me here... (1 Reply)
Discussion started by: naveeng
1 Replies

9. UNIX for Advanced & Expert Users

Process remians in Running state causing other similar process to sleep and results to system hang

Hi Experts, I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state. On doing cat /proc/<pid>wchan showing the "__init_begin" in the output. Can you please help me here... (6 Replies)
Discussion started by: naveeng
6 Replies

10. Shell Programming and Scripting

Command to get exact tomcat process I am running ignoring other java process

Team, I have multiple batchjobs running in VM, if I do ps -ef |grep java or tomcat I am getting multiple process list. How do I get my exact tomcat process running and that is unique? via shell script? (4 Replies)
Discussion started by: Ghanshyam Ratho
4 Replies
NC(1)							    BSD General Commands Manual 						     NC(1)

NAME
nc -- arbitrary TCP and UDP connections and listens SYNOPSIS
nc [-e command] [-g intermediates] [-G hopcount] [-i interval] [-lnrtuvz] [-o filename] [-p source port] [-s ip address] [-w timeout] [hostname] [port[s...]] DESCRIPTION
The nc (or netcat) utility is used for just about anything under the sun involving TCP or UDP. It can open TCP connections, send UDP pack- ets, listen on arbitrary TCP and UDP ports, do port scanning, and source routing. Unlike telnet(1), nc scripts nicely, and separates error messages onto standard error instead of sending them to standard output, as telnet(1) does with some. Destination ports can be single integers, names as listed in services(5), or ranges. Ranges are in the form nn-mm, and several separate ports and/or ranges may be specified on the command line. Common uses include: o simple TCP proxies o shell-script based HTTP clients and servers o network daemon testing o source routing based connectivity testing o and much, much more The options are as follows: -e command Execute the specified command, using data from the network for stdin, and sending stdout and stderr to the network. This option is only present if nc was compiled with the GAPING_SECURITY_HOLE compile time option, since it allows users to make arbitrary programs available to anyone on the network. -g intermediate-host Specifies a hop along a loose source routed path. Can be used more than once to build a chain of hop points. -G pointer Positions the "hop counter" within the list of machines in the path of a source routed packet. Must be a multiple of 4. -i seconds Specifies a delay time interval between lines of text sent and received. Also causes a delay time between connections to multiple ports. -l Is used to specify that nc should listen for an incoming connection, rather than initiate a connection to a remote host. Any host- name/IP address and port arguments restrict the source of inbound connections to only that address and source port. -n Do not do DNS lookups on any of the specified addresses or hostnames, or names of port numbers from /etc/services. -o filename Create a hexadecimal log of data transferred in the specified file. Each line begins with ``<'' or ``>''. ``<'' means "from the net" and ``>'' means "to the net". -p port Specifies the source port nc should use, subject to privilege restrictions and availability. -r Specifies that source and/or destination ports should be chosen semi-randomly instead of sequentially within a range or in the order that the system assigns. -s hostname/ip-address Specifies the IP of the interface which is used to send the packets. On some platforms, this can be used for UDP spoofing by using ifconfig(8) to bring up a dummy interface with the desired source IP address. -t Causes nc to send RFC854 DON'T and WON'T responses to RFC854 DO and WILL requests. This makes it possible to use nc to script telnet sessions. The presence of this option can be enabled or disabled as a compile-time option. -u Use UDP instead of TCP. On most platforms, nc will behave as if a connection is established until it receives an ICMP packet indi- cating that there is no program listening to what it sends. -v Verbose. Cause nc to display connection information. Using -v more than once will cause nc to become even more verbose. -w timeout Specifies the number of seconds nc should wait before deciding that an attempt to establish a connection is hopeless. Also used to specify how long to wait for more network data after standard input closes. -z Specifies that nc should just scan for listening daemons, without sending any data to them. Diagnostic messages about refused con- nections will not be displayed unless -v is specified twice. EXAMPLES
nc Wait for the user to type what would normally be command-line arguments in at stdin. nc example.host 42 Open a TCP connection to port 42 of example.host. If the connection fails, do not display any error messages, but simply exit. nc -p 31337 example.host 42 Open a TCP connection to port 42 of example.host, and use port 31337 as the source port. nc -w 5 example.host 42 Open a TCP connection to port 42 of example.host, and time out after five seconds while attempting to connect. nc -u example.host 53 Send any data from stdin to UDP port 53 of example.host, and display any data returned. nc -s 10.1.2.3 example.host 42 Open a TCP connection to port 42 of example.host using 10.1.2.3 as the IP for the local end of the connection. nc -v example.host 42 Open a TCP connection to port 42 of example.host, displaying some diagnostic messages on stderr. nc -v -v example.host 42 Open a TCP connection to port 42 of example.host, displaying all diagnostic messages on stderr. nc -v -z example.host 20-30 Attempt to open TCP connections to ports 20 through 30 of example.host, and report which ones nc was able to connect to. nc -v -u -z -w 3 example.host 20-30 Send UDP packets to ports 20-30 of example.host, and report which ones did not respond with an ICMP packet after three seconds. nc -l -p 3000 Listen on TCP port 3000, and once there is a connection, send stdin to the remote host, and send data from the remote host to stdout. echo foobar | nc example.host 1000 Connect to port 1000 of example.host, send the string "foobar" followed by a newline, and move data from port 1000 of example.host to std- out until example.host closes the connection. SEE ALSO
cat(1), telnet(1) The netcat README. AUTHOR
*Hobbit* [hobbit@avian.org] BSD
August 1, 1996 BSD
All times are GMT -4. The time now is 04:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy