이 질문은 네트워크 포트가 열려 있지만 프로세스가 연결되어 있지 않습니까?
거기에서 모든 것을 시도하고 로그 등을 검토했지만 아무것도 찾을 수 없습니다.
내 netstat는 TCP 수신 포트와 pid가없는 UDP 포트를 보여줍니다. 해당 포트를 lsof를 검색하면 아무것도 나타나지 않습니다.
netstat -lntup
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:44231 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:55234 0.0.0.0:* -
다음 명령은 아무것도 표시하지 않습니다.
lsof | grep 44231
lsof | greo 55234
fuser -n tcp 44231
fuser -n udp 55234
재부팅 후 새 포트 번호를 제외하고는 “동일한”두 개의 연결이 있습니다.
netstat -lntup
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:45082 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:37398 0.0.0.0:* -
그리고 다시 한 번 lsof 및 fuser 명령은 아무 것도 표시하지 않습니다.
그들이 어떤 아이디어입니까? 그들에 대해 걱정해야합니까?
답변
제공 한 데이터에서 NFS 마운트 또는 RPC를 사용하는 것과 관련이 있다고 말하고 싶습니다.
당신은 확인 할 수 rpcinfo -p
RPC 관련 서비스의 일부에 의해 사용될 수있는 포트.
내 시스템에서 어떻게 보이는지
# netstat -nlp | awk '{if ($NF == "-")print $0}'
tcp 0 0 0.0.0.0:55349 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:18049 0.0.0.0:* -
# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 10249 status
100024 1 tcp 10249 status
100021 1 udp 18049 nlockmgr
100021 3 udp 18049 nlockmgr
100021 4 udp 18049 nlockmgr
100021 1 tcp 55349 nlockmgr
100021 3 tcp 55349 nlockmgr
100021 4 tcp 55349 nlockmgr
답변
일부 프로세스 / pid는 루트에서만 사용할 수 있습니다. 시험
sudo netstat -antlp
TIME_WAIT 상태가 아닌 모든 열린 포트의 pid를 반환해야합니다.
답변
@ user202173 및 기타의 힌트를 기반으로 -
netstat에 나열된 경우에도 포트를 소유하는 프로세스를 추적하기 위해 다음을 사용할 수있었습니다 .
여기 내 출발 상황이 있었다. sudo netstat
PID / Program of의 포트를 보여줍니다 -
. lsof -i
아무것도 보여주지 않습니다.
$ sudo netstat -ltpna | awk 'NR==2 || /:8785/'
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::8785 :::* LISTEN -
tcp6 1 0 ::1:8785 ::1:45518 CLOSE_WAIT -
$ sudo lsof -i :8785
$
이제 낚시하러 가자 먼저 호출 에 추가하여 inode를 가져 오 -e
겠습니다 netstat
.
$ sudo netstat -ltpnae | awk 'NR==2 || /:8785/'
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp6 0 0 :::8785 :::* LISTEN 199179 212698803 -
tcp6 1 0 ::1:8785 ::1:45518 CLOSE_WAIT 0 0 -
다음으로 lsof
프로세스를 해당 inode에 연결하십시오.
$ sudo lsof | awk 'NR==1 || /212698803/'
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
envelope_ 145661 145766 drees 15u IPv6 212698803 0t0 TCP *:8785 (LISTEN)
이제 프로세스 ID를 알고 있으므로 프로세스를 볼 수 있습니다. 불행히도 그것은 소멸 된 과정입니다. 그리고 PPID가 1이므로 부모도 죽일 수 없습니다 ( 부모가 init 인 프로세스를 어떻게 죽일 수 있습니까? 참조 ). 이론적으로 init는 결국 정리할 수 있지만 기다렸다가 재부팅하는 데 지쳤습니다.
$ ps -lf -p 145661
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
0 Z drees 145661 1 2 80 0 - 0 exit May01 ? 00:40:10 [envelope] <defunct>
답변
나는 이것이 무엇인지 구체적으로 알지 못하지만 커널 모듈 (예 : NFS)에는 이러한 소켓과 관련된 PID가 없습니다. lsmod에서 의심스러운 것을 찾으십시오.
답변
이것이 유용 할 수 있는지 모르겠습니다. 나는 같은 문제가 있었고 내가 한 일은 다음과 같습니다. 첫째, -a (all) 및 -e (extended) 옵션을 사용하여 netstat를 호출했습니다. 후자의 옵션을 사용하면 사용 된 포트와 관련된 Inode를 볼 수 있습니다. 그런 다음, 얻은 inode 번호로 lsof | grep을 호출하고 해당 inode와 연관된 프로세스의 PID를 얻었습니다. 그것은 제 경우에 효과가있었습니다.
답변
이 포트에서 들어 오거나 나가는 트래픽이 있습니까? tcpdump -vv -x s 1500 port 37398 -w trace.out
파일 추적에 캡처 저장을 사용하여 확인한 다음 wireshark로 열거 나 tcpdump -vv port 37398
직접 진행되는 작업을 볼 수 있습니다.
해당 포트에 telnet을 시도하면 udp 소켓에 netcat을 사용하여 도움이되는 배너를 얻을 수 있습니다.
rkhunter를 받고 시스템에 백도어가 있는지 확인하십시오.
업데이트되지 않은 파일을 가정하고 lsof / netstat의 md5 해시를 설치 미디어의 md5 해시와 비교하십시오.
답변
