나중에 특정 포트에 연결된 프로그램이나 사용자를 어떻게 확인할 수 있습니까?

나중에 특정 포트에 연결된 프로그램이나 사용자를 어떻게 확인할 수 있습니까?

어제 컴퓨터의 IPTABLES 내보내기 로그를 확인하던 중 다음 내용을 발견했습니다.

IN= OUT=eth0 SRC=192.168.1.1 DST=69.46.36.10 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=12345 DF PROTO=TCP SPT=56789 DPT=4000 WINDOW=29200 RES=0x00 SYN URGP=0

잘 알려진 목록을 확인한 후TCP 포트, Diablo II 게임에서만 포트를 사용합니다.4000. 내 컴퓨터에 게임이 설치되어 있지 않습니다. 시도했지만 해당 포트에 연결할 수 있는 다른 서비스가 무엇인지 알 수 없습니다.

어제 일어난 일이기 때문에 를 사용했다면 netstat아마도 하루 종일 화면을 바라보며 실행 중인 서비스를 캡처했을 것입니다. 특정 포트에 어떤 프로그램이나 사용자가 연결되어 있는지 확인하는 더 좋은 방법이 있습니까?

답변1

감사 시스템을 사용하여 모든 connect()시스템 호출을 기록할 수 있습니다.

sudo auditctl -a exit,always -F arch=b64 -S connect -k connectLog
sudo auditctl -a exit,always -F arch=b32 -S connect -k connectLog

그런 다음 다음을 검색할 수 있습니다.

sudo ausearch -i -k connectLog -w --host 69.46.36.10

그러면 다음과 유사한 내용이 표시됩니다.

type=SOCKADDR msg=audit(02/09/14 12:31:57.966:60482) : saddr=inet host:69.46.36.10 serv:4000
type=SYSCALL msg=audit(02/09/14 12:31:57.966:60482) : arch=x86_64 syscall=connect success=no exit=-4(Interrupted system call) a0=0x3 a1=0x20384b0 a2=0x10 a3=0x7fffbf8c9540 items=0 ppid=21712 pid=25423 auid=stephane uid=stephane gid=stephane euid=stephane suid=stephane fsuid=stephane egid=stephane sgid=stephane fsgid=stephane tty=pts5 ses=4 comm=telnet exe=/usr/bin/telnet.netkit key=connect

grm.feedjit.com그런데 iPhone이 400x 포트의 IP 주소를 확인 하고 연결을 시도하는 것을 보았습니다 .

답변2

특정 목적으로 grep사용됨netstat포트. 시간 지연이 있는 무한 기간을 확인하려면 다음 명령을 사용할 수 있습니다.

while($1); do netstat -anp | grep :80; sleep 1s;done > output.txt

관련 정보