
netstat
MacBook에서 출력을 살펴보았습니다 . 일부 응용 프로그램에서는 사용할 포트를 지정할 수 있습니다. 예를 들어, utorrent
그렇게 할 수 있습니다. 포트 55743을 선택하고 실행했는데 netstat | grep 55743
결과는 다음과 같습니다.
udp6 0 0 *.55743 *.*
udp4 0 0 *.55743 *.*
종료하면 utorrent
포트가 해제됩니다. 하지만 포트 번호를 모른다면 어떤 애플리케이션이 어떤 포트를 사용하고 있는지 어떻게 알 수 있습니까? 그리고 일부 애플리케이션이 비밀리에 포트를 사용하여 외부 서버 장치와 통신하는 것이 가능합니까?
답변1
David Houde가 언급했듯이 lsof -i
친구가 현재 소켓 연결/작업에 대한 스냅샷을 제공합니다. 아쉽게도 OS X에서는 netstat
이 기능을 지원하지 않습니다.
기타 옵션은 다음과 같습니다.
Activity Monitor.app
응용 프로그램에서 열려 있는 파일과 포트를 볼 수 있습니다. 프로세스를 두 번 클릭하고 "파일 및 포트 열기" 탭을 열면 됩니다.
Dtrace - 확인해 보세요soconnect종료(control+c)할 때까지 네트워크 작업에 대한 지속적인 정보를 제공하는 스크립트입니다. 예제 출력:
sudo /tmp/soconnect.d
PID PROCESS FAM ADDRESS PORT LAT(us) RESULT
8211 X-Lite 2 192.168.1.109 5060 25 Success
4112 Google Chrome 2 173.194.34.134 443 53 In progress
8211 X-Lite 2 192.168.1.109 5060 30 Success
제가 개인적으로 아주 좋아하는 응용 프로그램 중 하나는 little snitch이지만 상용 소프트웨어입니다. 이는 데스크톱 방화벽 소프트웨어이지만 사용자가 관심을 가질 수 있는 여러 가지 기능을 갖추고 있습니다.
- 어떤 응용 프로그램이 어디에 연결되어 있는지 알려주는 네트워크 모니터(soconnect.d 출력과 유사한 방식)
- 애플리케이션당 네트워크 트래픽을 캡처합니다(즉, Wireshark와 유사하며 네트워크 트래픽을 볼 수 있지만 특정 애플리케이션으로만 제한합니다).
두 번째 질문에 대답하자면, 그렇습니다. 기존 운영 체제(예: OS X, Windows)에서 응용 프로그램은 다양한 방법으로 타사 시스템에 연결하고 무엇이든 보낼 수 있습니다. 많은 데스크톱 방화벽은 각 애플리케이션이 연결할 수 있는 위치를 지정하여 일종의 화이트리스트를 제공함으로써 이 문제를 해결하려고 합니다. 보안의 다른 모든 것과 마찬가지로 이 접근 방식에도 함정이 없지는 않습니다.
추신. 저는 데스크탑 방화벽 소프트웨어 공급업체와 아무런 관련이 없습니다 :)
답변2
더 많은 netstat 인수를 사용하거나 lsof를 사용하여 이를 수행할 수 있습니다.
netstat -lp
lsof -i udp:55743