이 질문에는 이미 답변이 있습니다.
자신의 포트 (이러한 포트에 대한 서버 역할을하므로 해당 포트에서 수신 대기)를 여는 응용 프로그램과 동일한 응용 프로그램이 다른 응용 프로그램 (이러한 포트의 클라이언트 역할을 수행하는 포트)에 연결하는 응용 프로그램을 테스트하고 있습니다.
응용 프로그램이 어떤 포트를 만들고 응용 프로그램과 포트를 연결하는지에 대한 개요를보고 싶습니다.
어떻게해야합니까?
이 질문에는 이미 답변이 있습니다.
자신의 포트 (이러한 포트에 대한 서버 역할을하므로 해당 포트에서 수신 대기)를 여는 응용 프로그램과 동일한 응용 프로그램이 다른 응용 프로그램 (이러한 포트의 클라이언트 역할을 수행하는 포트)에 연결하는 응용 프로그램을 테스트하고 있습니다.
응용 프로그램이 어떤 포트를 만들고 응용 프로그램과 포트를 연결하는지에 대한 개요를보고 싶습니다.
어떻게해야합니까?
답변:
당신이 사용할 수있는 netstat
이것 때문에. 예제를 보았다. ssh
) :
netstat -putan | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1725/sshd
tcp 0 0 1.2.3.4:45734 1.2.3.5:22 ESTABLISHED 2491/ssh
tcp6 0 0 :::22 :::* LISTEN 1725/sshd
설명:
나는 종종 매개 변수를 사용한다. -putan
(그들은 기억하기 쉽기 때문에).
-p
: 응용 프로그램 / 프로세스의 PID 표시 -u
: udp 포트 / 연결 표시 -t
: tcp 포트 / 연결 표시 -a
: 수신 대기 소켓과 수신 대기 소켓을 모두 표시합니다. -n
: 숫자 출력 (호스트 이름에 대한 DNS 조회 등을하지 않음) 위의 출력에서 ssh 데몬 프로세스가 있음을 알 수 있습니다 ( sshd
)와 PID 1725
항구에서 듣기 22
모든 네트워크 인터페이스에서 ( 0.0.0.0
). 또한 ssh 클라이언트 프로세스 (PID 2491
IP 주소에 연결된 1.2.3.5
포트 번호에서 22
, 내 IP 주소는 1.2.3.4
내 외부 포트는 45734
. 연결이 설정되었음을 알 수 있습니다. 따라서 다음을 통해 로그인했습니다. ssh
.
이 작업을 수행 할 수있는 또 다른 도구는 다음과 같습니다. lsof
:
# lsof -i -a -p 1981
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1981 root 3u IPv4 917 0t0 TCP host.example.com:ssh (LISTEN)
# lsof -i -a -p 1981 -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1981 root 3u IPv4 917 0t0 TCP 10.1.2.3:ssh (LISTEN)
# lsof -i -a -p 1981 -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1981 root 3u IPv4 917 0t0 TCP 10.1.2.3:22 (LISTEN)
#
사용 된 옵션은 다음과 같습니다.
-i
프로세스에 의해 열린 인터넷 포트를 출력하는 방법 -a
모든 옵션이 AND-ed되도록 -p 1981
프로세스 1981에 대한 출력을 표시하는 방법 -n
호스트 이름 조회를 금지하고 대신 IP 표시 -P
대신 서비스 조회를 금지하고 포트 번호를 표시합니다. lsof
큰 출력에서 추출하지 않고 확인할 프로세스를 지정할 수 있다는 이점이 있습니다. netstat
시스템에서 더 안정적으로 사용할 수 있지만 lsof
이전보다 더 표준이되고 있습니다.
strace
솔루션은 @olivecoder가 제안했습니다.
ss
유틸리티 출신 이 루트 Linux 용 패키지
우리는 이미 좋은 답변을 가지고 있지만 명령이 실행되는 순간 열려있는 포트만 나열합니다.
strace
응용 프로그램 수명 동안 열린 연결을 모니터링하는 데 적합한 도구입니다.
strace -e socket,connect,close -f -o hipchat.strace.txt hipchat
출력에는 UDP 요청 및 열린 상태이지만 닫힌 연결 같은 추가 정보가 표시됩니다.