소켓을 확인하여 포트 전달이 설정되었는지 어떻게 확인할 수 있나요?

소켓을 확인하여 포트 전달이 설정되었는지 어떻게 확인할 수 있나요?

내가 달리기를 마친 후에

$ ssh -L 9000:google.com:80 testme@localhost

소켓(인터넷 및 Unix 도메인 소켓)을 확인하여 포트 전달이 설정되었는지 어떻게 확인할 수 있습니까?

감사해요.

답변1

이를 수행하는 보완적인 방법은 다양합니다.

로컬 컴퓨터에서

ssh옵션을 사용하여 명령을 실행할 수 -v있으며 전달에 대한 정보가 있습니다.

debug1: Local connections to LOCALHOST:9000 forwarded to remote address google.com:80
debug1: Local forwarding listening on ::1 port 9000.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 9000.
debug1: channel 1: new [port listener]

실행하면 포트 9000에서 실행 중인 항목이 netstat -tulpn있는지 확인할 수 있습니다 . ssh이는 청취 포트를 보여줍니다. 적극적으로 전달된 연결은 표시되지 않습니다!

# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      15557/ssh

원격 컴퓨터에서

전달된 포트의 현재 열려 있는 세션을 빠르게 클릭하면 ~#지금 터널을 사용하고 있는 것이 있는지 확인할 수 있습니다( telnet명령을 사용하여 localhost:9000에 연결하여 무슨 일이 일어나는지 확인할 수 있습니다).

The following connections are open:
  #2 client-session (t4 r0 i0/0 o0/0 e[write]/4 fd 6/7/8 sock -1 cc -1)
  #3 direct-tcpip: listening port 9000 for google.com port 80, connect from 127.0.0.1 port 57060 to 127.0.0.1 port 9000 (t4 r1 i0/0 o0/0 e[closed]/0 fd 9/9/-1 sock 9 cc -1)

또한 netstat -tulpn이 컴퓨터에 열려 있는 포트에 대한 정보도 제공하지만 열려 있는 포트가 연결을 통해 설정한 포트인지는 보장할 수 없습니다. 대부분의 경우 원격 머신에 대한 루트 액세스 권한이 없으므로 SSH 세션의 PID와 netstat결과에서 PID를 확인할 수 없습니다.

답변2

SSH 연결이 설정되면 포트 9000에 청취 소켓이 표시됩니다.

$ ss -o state listening 'sport = 9000'
Netid Recv-Q Send-Q         Local Address:Port                          Peer Address:Port
tcp   0      128                127.0.0.1:9000                                     *:*
tcp   0      128                      ::1:9000                                    :::*

google.com포트 9000에 연결될 때까지 연결이 표시되지 않습니다.

$ nc localhost 9000

그런 다음 다른 터미널에서 다음과 같은 내용을 볼 수 있습니다.

$ ss -o state established 'dport = 80'
Netid Recv-Q Send-Q         Local Address:Port                          Peer Address:Port
tcp   0      0                 10.10.10.2:34948                       216.58.204.142:http

Google에 속한 피어 주소를 사용하세요.

관련 정보