2

I have a windows services that bind to some TCP port, this port is use for IPC between my application.

Is there a programming (WinAPI/WinSocket and etc) way to know which application connected to my port?

i.e. in my Windows Services I would like to get a PID of the process that connected to my port.

1

2 Answers 2

3

If you're looking for WinAPI way of doing the same as netstat. You probably want the following API: GetExtendedTcpTable

Look for the results with TCP_TABLE_OWNER_PID_ALL argument.

The resulting MIB_TCPTABLE_OWNER_PID structure has many MIB_TCPROW_OWNER_PID structures that has dwOwningPid which is the process ID you are looking for.

Sign up to request clarification or add additional context in comments.

5 Comments

This is supported on WinXP SP2+. If you look for older versions compatibility look for AllocateAndGetTcpExTableFromStack API.
Sorry, but this was not my questions, I wanted to know the PID of the application that connected to my port, not the PID of the application that bind to the port.
You can't know that from remote machine. You only know the source port and IP.
Your question is not so clear. In case you are looking for the PID of a LOCAL application that is connected to some local service, you can use GetExtendedTcpTable or AllocateAndGetTcpExTableFromStack to see both sides: the listening one and the connecting one.
If that was helpful do you mind raising the rating of this answer ?
0

If you mean what process is using (listening on or connected using) your ports, use the following command:

netstat -a -b -o -n

-a will show you all connection (even if they in LISTENING state)

-b will show you the application executable that uses that port

-o will show you the PID of the application

-n will not do dns translations (you probably don't need these for knowing about the application), not necessary

1 Comment

Thanks for the answer but i need the programming way to do this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.