How to repair a TCP/IP socket in state: CLOSE_WAIT?


 
Thread Tools Search this Thread
Operating Systems AIX How to repair a TCP/IP socket in state: CLOSE_WAIT?
# 1  
Old 12-02-2015
How to repair a TCP/IP socket in state: CLOSE_WAIT?

Hi

The clients connect to my server -using port 9130. But no client could connect to my server at this time. I've checked already and this is the result

Code:
netstat -Aan|grep -v 127.0.0.1|grep 9130|pg
f10006000abcb398 tcp4   10313      0  10.0.89.81.9130       10.158.70.24.1705     CLOSE_WAIT
f100060016a4eb98 tcp4    4968      0  10.0.89.81.9130       10.199.1.77.2786      CLOSE_WAIT
f100060012152398 tcp4    8147      0  10.0.89.81.9130       10.158.70.92.1724     CLOSE_WAIT
f100060008f3b398 tcp4    6198      0  10.0.89.81.9130       10.158.70.86.1890     CLOSE_WAIT
f100060024e55398 tcp4   16097      0  10.0.89.81.9130       10.11.0.67.1145       CLOSE_WAIT
f1000600253e8b98 tcp4   12180      0  10.0.89.81.9130       10.150.12.113.2155    CLOSE_WAIT
f10006000d141398 tcp4   14256      0  10.0.89.81.9130       10.11.0.89.1157       CLOSE_WAIT
f10006002bf12b98 tcp4   20688      0  10.0.89.81.9130       10.150.12.109.2245    CLOSE_WAIT
f1000600250c3398 tcp4    1653      0  10.0.89.81.9130       10.150.15.115.1546    CLOSE_WAIT
f1000600335f9398 tcp4    4538      0  10.0.89.81.9130       10.5.6.13.1139        CLOSE_WAIT
f100060018cc9b98 tcp4     838      0  10.0.89.81.9130       10.204.70.43.1080     CLOSE_WAIT
f1000600066c1b98 tcp4    3291      0  10.0.89.81.9130       10.11.0.219.1325      CLOSE_WAIT
f10006001d084b98 tcp4    2004      0  10.0.89.81.9130       10.5.7.12.1065        ESTABLISHED
f10006000e9f8b98 tcp4   24454      0  10.0.89.81.9130       10.165.5.26.1436      CLOSE_WAIT
f10006000def1b98 tcp4    8116      0  10.0.89.81.9130       10.54.0.144.1140      CLOSE_WAIT
f10006002486f398 tcp4    2489      0  10.0.89.81.9130       10.47.70.4.1142       CLOSE_WAIT
f1000600091a2398 tcp4   24633      0  10.0.89.81.9130       10.11.6.120.49305     CLOSE_WAIT
f10006001e8f9b98 tcp4   10038      0  10.0.89.81.9130       10.174.0.43.1169      CLOSE_WAIT
f1000600169c7b98 tcp4    1663      0  10.0.89.81.9130       10.47.70.77.1132      CLOSE_WAIT
f100060025fdb398 tcp4    6064      0  10.0.89.81.9130       10.11.6.66.49433      ESTABLISHED
f1000600253f7398 tcp4    7884      0  10.0.89.81.9130       10.11.6.125.49445     ESTABLISHED
f10006000f8b1b98 tcp4    8177      0  10.0.89.81.9130       10.29.71.155.4635     CLOSE_WAIT
f10006001b06e398 tcp4    4951      0  10.0.89.81.9130       10.14.0.125.1464      CLOSE_WAIT
f10006002bdaf398 tcp4   16149      0  10.0.89.81.9130       10.254.0.91.1305      CLOSE_WAIT

I'd like to turn all the sockets from CLOSE_WAIT --> ESTABLISHED. I think there's something wrong in /etc/security but I don't know to fix it.

Somebody help please SmilieSmilieSmilie
# 2  
Old 12-02-2015
Hi,

as far as I know this is not possible.

tcpipguide

Quote:
CLOSE-WAIT
The device has received a close request (FIN) from the other
device. It must now wait for the application on the local device
to acknowledge this request and generate a matching request.
I guess there is a problem in your application.

Regards
This User Gave Thanks to -=XrAy=- For This Post:
# 3  
Old 12-03-2015
you can't change from CLOSE_WAIT to ESTABLISHED. usually it means, that close() call on socket is forgotten. the only way to clean up is to shut down the application, fix it and start it again.

Can you provide output of the following commands:

Code:
# netstat -an | grep 10.0.89.81.910 | grep -c CLOSE_WAIT
# lsuser  <APP_USER>
# no -L somaxconn

This User Gave Thanks to agent.kgb For This Post:
# 4  
Old 12-03-2015
Both, XrAy and agent.kgb are correct: a TCP connection works like a telephone call. First, a so-called "virtual channel" (the call) ist established by both sides (one calls, one picks up the handset). Then, the connection remains in use (the connected people talk to each other) until, finally, one or both sides drop it (they hang up).

The CLOSE_WAIT means, that one has already hung up and this side now is also in the process of dropping the connection. In TCP this is just a bit more complicated with acknowledgements being sent back and forth, but in principle the difference is minimal.

So, what you want amounts to "i want to still talk to someone who just hung up". With a phone you would know what to do: redial and establish a new connection. Here, you do the same: you(r application) needs to reestablish another TCP connection.

Maybe your application was a bit too eager to drop the connection. In this case you must change the application somehow. But this will not change the fact that dropped connections remain dropped, no matter what you want. *)

I hope this helps.

bakunin

_______________
*) Corollary: For better or worse, unlike in Zombie movies dead connections remain dead and won't come back to haunt you.

Last edited by bakunin; 12-03-2015 at 10:14 AM..
These 2 Users Gave Thanks to bakunin For This Post:
# 5  
Old 12-18-2015
I used rmsock command for some sockets, then all the sockets remanning changed the state to ESTABLISH. Don't know why, but it seems OK now.

Thanks for your help
# 6  
Old 12-18-2015
in some universe is possible that 2+2=5, but in no universe is possible, that a socket changes its state from CLOSE_WAIT to ESTABLISHED.
# 7  
Old 12-18-2015
Quote:
Originally Posted by agent.kgb
in some universe is possible that 2+2=5, but in no universe is possible, that a socket changes its state from CLOSE_WAIT to ESTABLISHED.
Sorry, my mistake. Maybe something happened, then everything is OK. The sockets state don't change from CLOSE_WAIT to ESTABLISHED
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Terminate processes for CLOSE_WAIT status of TCP

Hello Friends, First of all im sorry for spending extra space in DB of forum with this thread, i know there would be a solution if i kept searching, I need to terminate the process which causes CLOSE_WAIT status of TCP connection via port 8103: -bash-3.00$ netstat -na | grep 8103... (3 Replies)
Discussion started by: EAGL€
3 Replies

2. Shell Programming and Scripting

Read and write to tcp socket

Hello all, I have a requirement to read and write to a tcp socket from an HP-UX shell script. I see a /dev/tcp character device on my servers: crw-rw-rw- 1 root root 72 0x00004f Mar 28 18:37 /dev/tcp So I believe this is what I should use. The problem is that all the... (2 Replies)
Discussion started by: lupin..the..3rd
2 Replies

3. IP Networking

Packets sent from Linux TCP socket

Hello, Our software is using a TCP socket (AF_INET, SOCK_STREAM) to communicate with an Ethernet device. When we send a message, the message object writes itself in full onto the socket's stream buffer before the software invokes send() from socket.h. I'm still researching, but have 2... (1 Reply)
Discussion started by: bix_20002000
1 Replies

4. Solaris

socket in listen state disappears/closes automatically

Hi, I am using solaris 10. I have opened a socket connection using java in solaris 10 operating system, the port went to LISTEN state and able to create new socket connection and the new connections went to ESTABLISHED state. If I issue the command "netstat -an | grep <<portnumber>>", I... (10 Replies)
Discussion started by: kumar3k
10 Replies

5. Programming

Using socket to test a TCP port

Hello, I'm trying to write a small c application to test a tcp port. This works fine for the most part but the default timeout on the connect is very long. I have been reading many posts but and it looks like I need to set the socket to be non-blocking and poll for a result. I have been totally... (2 Replies)
Discussion started by: tjones1105
2 Replies

6. UNIX for Dummies Questions & Answers

Hitting with custom port in CLOSE_WAIT state for long time in solaris 10

Hi, Occasionally I am getting the port state in CLOSE_WAIT for long time in the solaris server. I am not sure is it application problem or not. Because we are using port 9009 for Tomcat process in our web application, some time when I start the application, the port 9009 is in CLOSE_WAIT... (0 Replies)
Discussion started by: mgmk.84
0 Replies

7. AIX

TCP/IP socket binding problem

I have what appears to be a unique socket problem, although admittedly my tcp/ip programming experience is relatively limited. I have a AIX server process using TCP/IP berkely sockets, and a Windows (C#) process. The windows process takes input from a user and sends a message to the Unix... (1 Reply)
Discussion started by: adiaconou
1 Replies

8. UNIX for Dummies Questions & Answers

Which application has a TCP socket open

If I do a netstat -a I can see all the sockets currently open, is there a way that I can tell which application is holding open these sockets ? (3 Replies)
Discussion started by: murphyboy
3 Replies

9. Programming

Confusion about TCP/IP socket programming

Hello there chaps. First of all, i'm no TCP/IP-wiz, so forgive me if this is a stupid question. I've been messing around with filetransfer using sockets, and there is one thing that confuses me. This is how it's set up: A server app listens on a port for a client connection. When it... (3 Replies)
Discussion started by: crippe
3 Replies

10. Programming

C Prog to close a socket in established state

I have a SUN environment running an WebLogic that communicates w/a 3rd party running IIS. When the IIS site goes down (frequently), I am stuck with sockets in an ESTABLISHED state, and cannot seem to figure out how to avoid this. No exceptions are thrown as I can still open connections to the IIS... (1 Reply)
Discussion started by: teledelux
1 Replies
Login or Register to Ask a Question