Solaris 10에서 어떤 프로세스가 TCP SYN을 보내고 있습니까?

Solaris 10에서 어떤 프로세스가 TCP SYN을 보내고 있습니까?

내 Solaris 10 시스템의 일부 프로세스가 TCP SYN을 원격 시스템으로 보내고 있습니다. 원격 컴퓨터가 응답하지 않으므로 연결이 설정되지 않습니다. 이 작업을 시작하는 프로세스를 어떻게 알 수 있나요?

DTrace 스크립트를 조사했지만 a) 직접 만들 만큼 DTrace를 잘 알지 못합니다. b) 기존 스크립트를 찾을 수 없으며 c) 일부 스크립트가 내 버전에서 사용할 수 없는 프로브를 사용하는 것을 발견했습니다. .

통찰력을 가져 주셔서 감사합니다. 게리

답변1

대상 IP와 포트를 알고 있으면 다음을 실행할 수 있습니다.

pfiles $pid 

시스템의 각 프로세스에 대해 해당 속성을 사용하여 소켓을 연 프로세스를 확인합니다. 사용해 보시는 게 좋을 것 같아요

lsof -i

루트로서 소켓이 활성화되어 있는 동안 소켓을 얻을 수 있는지 확인하십시오.

기계가 외부에 있기 때문에 기계가 누구에게 속해 있는지, 어떤 소프트웨어를 받았는지 확인하여 확인해야 할 프로세스를 제한할 수 있습니다.

답변2

이 Dtrace 스크립트를 살펴보십시오.연결하다

# ./conntrack -h
USAGE: ./conntrack [-h] [-p port] [-c command] [-u user]
   -p port         # filter by port (incompatible with user and command)
   -c command      # filter by command (incompatible with port and user)
   -u user         # filter by user (incompatible with port and command)
  eg,
       ./conntrack -p 22    # snoop connections to port 22

답변3

시스템의 각 프로세스에 대해 일시 중지하고 kill -STOP $pid연결 시도가 중지되었는지 확인한 다음 다시 시작하는 데 사용합니다 kill -CONT $pid.

관련 정보