컴퓨터를 켜고 시도할 때마다
$ lsof -i :80
알겠어요
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME firefox
3082 totoXXX 41u IPv4 100396 0t0 TCP
totoXXX-PC-E15-Gen-2:39000->yyz12s07-in-f3.1e100.net:http
(ESTABLISHED) firefox 3082 totoXXX 93u IPv4 45722 0t0 TCP
totoXXX-PC-E15-Gen-2:49470->82.221.107.34.bc.googleusercontent.com:http
(ESTABLISHED) firefox 3082 totoXXX 113u IPv4 53661 0t0 TCP
totoXXX-PC-E15-Gen-2:49478->82.221.107.34.bc.googleusercontent.com:http
(ESTABLISHED) firefox 3082 totoXXX 125u IPv4 58753 0t0 TCP
totoXXX-PC-E15-Gen-2:47658->server-3-161-216-55.yul62.r.cloudfront.net:http
(ESTABLISHED) firefox 3082 totoXXX 129u IPv4 58755 0t0 TCP
totoXXX-PC-E15-Gen-2:43216->yyz12s07-in-f3.1e100.net:http
(ESTABLISHED) firefox 3082 totoXXX 187u IPv4 57077 0t0 TCP
totoXXX-PC-E15-Gen-2:37900->192.229.211.108:http (ESTABLISHED) firefox
3082 totoXXX 188u IPv4 57076 0t0 TCP
totoXXX-PC-E15-Gen-2:37892->192.229.211.108:http (ESTABLISHED) firefox
3082 totoXXX 190u IPv4 57079 0t0 TCP
totoXXX-PC-E15-Gen-2:37926->192.229.211.108:http (ESTABLISHED) firefox
3082 totoXXX 192u IPv4 57078 0t0 TCP
totoXXX-PC-E15-Gen-2:37910->192.229.211.108:http (ESTABLISHED) firefox
3082 totoXXX 194u IPv4 57080 0t0 TCP
totoXXX-PC-E15-Gen-2:37938->192.229.211.108:http (ESTABLISHED) firefox
3082 totoXXX 202u IPv4 66105 0t0 TCP
totoXXX-PC-E15-Gen-2:33126->a23-33-46-35.deploy.static.akamaitechnologies.com:http
(ESTABLISHED) firefox 3082 totoXXX 203u IPv4 66106 0t0 TCP
totoXXX-PC-E15-Gen-2:33134->a23-33-46-35.deploy.static.akamaitechnologies.com:http
(ESTABLISHED) firefox 3082 totoXXX 204u IPv4 66107 0t0 TCP
totoXXX-PC-E15-Gen-2:33146->a23-33-46-35.deploy.static.akamaitechnologies.com:http
(ESTABLISHED) firefox 3082 totoXXX 205u IPv4 66108 0t0 TCP
totoXXX-PC-E15-Gen-2:33156->a23-33-46-35.deploy.static.akamaitechnologies.com:http
(ESTABLISHED) firefox 3082 totoXXX 206u IPv4 66109 0t0 TCP
totoXXX-PC-E15-Gen-2:33170->a23-33-46-35.deploy.static.akamaitechnologies.com:http
(ESTABLISHED) firefox 3082 totoXXX 216u IPv4 80777 0t0 TCP
totoXXX-PC-E15-Gen-2:57830->a-0003.a-msedge.net:http (ESTABLISHED)
firefox 3082 totoXXX 217u IPv4 80778 0t0 TCP
totoXXX-PC-E15-Gen-2:57836->a-0003.a-msedge.net:http (ESTABLISHED)
firefox 3082 totoXXX 219u IPv4 57119 0t0 TCP
totoXXX-PC-E15-Gen-2:37952->192.229.211.108:http (ESTABLISHED) firefox
3082 totoXXX 253u IPv4 76362 0t0 TCP
totoXXX-PC-E15-Gen-2:43230->yyz12s07-in-f3.1e100.net:http
(ESTABLISHED) firefox 3082 totoXXX 288u IPv4 76361 0t0 TCP
totoXXX-PC-E15-Gen-2:43222->yyz12s07-in-f3.1e100.net:http
(ESTABLISHED) firefox 3082 totoXXX 294u IPv4 87975 0t0 TCP
totoXXX-PC-E15-Gen-2:38980->yyz12s07-in-f3.1e100.net:http
(ESTABLISHED) firefox 3082 totoXXX 315u IPv4 96441 0t0 TCP
totoXXX-PC-E15-Gen-2:43212->server-3-161-216-55.yul62.r.cloudfront.net:http
(ESTABLISHED) firefox 3082 totoXXX 319u IPv4 96442 0t0 TCP
totoXXX-PC-E15-Gen-2:43218->server-3-161-216-55.yul62.r.cloudfront.net:http
(ESTABLISHED) firefox 3082 totoXXX 364u IPv4 100389 0t0 TCP
totoXXX-PC-E15-Gen-2:43228->server-3-161-216-55.yul62.r.cloudfront.net:http
(ESTABLISHED) firefox 3082 totoXXX 365u IPv4 100390 0t0 TCP
totoXXX-PC-E15-Gen-2:43232->server-3-161-216-55.yul62.r.cloudfront.net:http
(ESTABLISHED) firefox 3082 totoXXX 374u IPv4 109303 0t0 TCP
totoXXX-PC-E15-Gen-2:46512->cloudproxy10022.sucuri.net:http
(ESTABLISHED) firefox 3082 totoXXX 386u IPv4 92828 0t0 TCP
totoXXX-PC-E15-Gen-2:44422->104.18.21.226:http (ESTABLISHED) firefox
3082 totoXXX 405u IPv4 111699 0t0 TCP
totoXXX-PC-E15-Gen-2:54728->192.229.211.108:http (ESTABLISHED) firefox
3082 totoXXX 406u IPv4 109305 0t0 TCP
totoXXX-PC-E15-Gen-2:53184->104.18.15.101:http (ESTABLISHED)
나는 리눅스 전문가가 아니다. 난 자주 그래
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill
로컬 애플리케이션 스택 nginx를 실행하기 전에 중지합니다.
그런데 왜 내가 이걸 받는 거지? 그리고 모든 Linux 부팅에서 이 문제가 발생하지 않도록 하려면 어떻게 해야 합니까?
답변1
최신 시스템에서는 lsof
일반 사용자로 실행하면 얻을 수 있는 정보가 제한될 수 있습니다.자신의 프로세스에 대한 정보만 얻을 수 있습니다.명령을 실행하면 lsof -i :80
명령은 사용자 계정에서 사용 중인 프로세스도 나열합니다.로컬 포트 80또는 연결원격 포트 80.
첫 번째 카테고리는 nginx
시작을 중단할 수 있습니다. 귀하의 카테고리 firefox
는 두 번째 카테고리에 속합니다.
그리고 포트 80에서 실행되는 웹 서버는 일반 사용자 계정으로 실행되지 않기 때문에(1024 미만의 로컬 포트는 일반 사용자가 액세스할 수 없기 때문에) 간단한 lsof
명령으로는 sudo
실제 범인을 볼 수 없습니다.
따라서 lsof
생성한 목록은 실제 문제에 대한 "오탐지"를 sudo
나열할 뿐만 firefox
아니라 루트 권한이 없고 시스템의 모든 프로세스를 확인해야 하기 때문에 실제 문제를 식별하지 못합니다.
하지만 당신이 달릴 때
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill
루트로 실행되므로 lsof
명령 kill
은 듣고 있는 모든 항목을 찾습니다.로컬 TCP 포트 80그리고 그것을 죽여라.
로컬 포트 80을 차지하는 것이 무엇인지 알아내려면 스위치 없이 명령의 첫 번째 부분을 실행하십시오 -t
.
sudo lsof -i tcp:80 -s tcp:listen
답변2
IP 연결은 5가지 값으로 정의됩니다.
- 프로토콜(이 경우 TCP)
- 소스 IP, 귀하의 경우에는 다음에 속한 IP
totoXXX-PC-E15-Gen-2
- 소스 포트, 출력의 30000에서 64000 사이의 숫자
- IP와 같은 대상 주소
82.221.107.34.bc.googleusercontent.com
http
출력에 있는 대상 포트
이것이 귀하의 lsof
보고서입니다. 높은 포트 번호는 시스템의 Firefox에서 사용되며 포트 80(HTTP)은 대상 시스템의 웹 서버에서 사용됩니다.
HTTP 포트 80이 연결되는 곳입니다. 이것이 서버가 듣는 것입니다. 서버를 제어하지 않으면 변경할 수 없습니다.
웹을 탐색할 때 이 정보를 얻습니다. 이는 브라우저의 정상적인 인터넷 트래픽입니다.
Firefox가 웹 서버의 포트 80에 연결하는 것을 차단하려면 과감한 조치가 필요합니다. iptables
트래픽을 차단하고, Firefox에 추가 기능을 설치하고, 프록시를 사용하는 규칙은 모두 작동할 수 있지만 웹 검색 환경을 손상시킬 수 있습니다.
이러한 서버에서 포트 80에 대한 연결을 중지해야 하는 이유는 명확하지 않습니다.