저는 최근에 OS X 기반 컴퓨터에서 Squid 캐싱 서버를 사용하기 시작했습니다. netstat
Squid가 어떤 포트를 사용하여 실행 중인지 또는 다른 표준 Unix 명령을 사용하는지 알 수 있는 방법이 있는지 궁금합니다 .
즉, Squid가 기본적으로 포트에서 실행된다는 것을 알고 있지만 3128
,이걸 몰라또는 누군가가 내가 액세스하거나 찾을 수 없는 구성 파일을 통해 다른 포트에서 수신 대기 중인 Squid를 시작하면 어느 포트가 수신되고 있는지 확인할 수 있는 방법이 있습니까?
netstat
일부 기본 인터넷 검색을 통해 Linux를 실행하는 시스템에 대한 다음 명령이 나타났습니다.
$ netstat -plant
하지만 OS X에서 실행하면 오류가 발생합니다.
$ netstat -plant
netstat: lant: unknown or uninstrumented protocol
나는 이것이 BSD/Linux의 차이점이라고 가정하지만 내 네트워크를 잘 알지 못해 올바른 BSD 호출이 무엇인지 알 수 없습니다.
운영 체제 10.10(사용 가능한 경우)
답변1
-i를 사용하여 열린 파일을 나열하면 사용 중인 포트가 표시됩니다.
lsof -i
출력이 너무 많으면
lsof -i | grep squid
Linux 및 OS X에서 사용 가능
답변2
BSD에서는 netstat
-p
이것이 프로토콜이며프로그램netstat
net-tools에는 BSD 버전과 동등한 것이 없는 것 같습니다 . man
이러한 상황에서 그는 거의 항상 당신의 친구입니다.
BSD는 sockstat
여러분이 원하는 것을 제공하지만 OS XI에서는 사용할 수 없는 것 같습니다.
이미 언급했듯이 lsof
이는 아마도 원하는 결과를 얻을 수 있는 가장 크로스 플랫폼 방법일 것입니다. -n
포트 번호가 이름으로 변환되어 혼동을 주지 않도록 추가되었습니다 .원자흡수분광법당신이 기대하는 것은 3128입니다.