Answers:
就像其他文章中提到的Netstat一样,lsof命令应该也可以做到这一点。只需使用此:
lsof -i :<port number>
并且所有流程都应该出现。我在OS X上经常使用它。
您需要的工具是lsof
,它将列出文件(以及套接字和端口)。它很可能已安装,并且很可能是攻击者的版本,这意味着它将欺骗您。
这确实是一个rootkit。我以前见过这种行为,这是始终是一个rootkit。您的系统已受到威胁,并且您使用的源自同一台计算机的任何工具都不能被信任。引导到Live CD(具有只读的受信任的二进制文件),然后使用它来提取数据,设置等。您拥有的所有程序,脚本都将其放弃。不要带它们。对待他们和系统,就好像他们患有麻风病一样,因为它们确实如此。
尽快执行此操作。哦,拔下网络连接-拒绝攻击者访问。
netstat -anp
“ -p”告诉它列出打开端口的进程ID。-an告诉它列出侦听端口,而不解析名称。在繁忙的系统上,可以大大加快返回速度。
netstat -anp | grep“列表”
那只会给你打开的端口。
如果您看不到使用操作系统工具打开的端口,并且怀疑入侵,则可能是安装了rootkit。
rootkit可能已更改了系统工具,以避免某些进程和端口或更改了内核模块。
您可以使用几种自动化工具检查rootkit。'apt-cache search rootkit'在Ubuntu中显示以下内容:
chkrootkit - rootkit detector
rkhunter - rootkit, backdoor, sniffer and exploit scanner
unhide - Forensic tool to find hidden processes and ports
如果您碰巧拥有rootkit,则可以将“更改的文件”还原到系统中,但是我建议您了解入侵的产生方式并强化系统,以防止重复。
它们不是Ubuntu独有的,您也可以在CentOS中使用它们。只需查找软件包或从其页面下载。
通过该端口的输出,您似乎确实在运行pcanywhere:“ ... <Enter>”与pcanywhere欢迎消息“请按<Enter>”非常相似。我不知道为什么该过程没有出现在过程列表中。你是根吗?
您也可以尝试重新启动,以查看它是否一次运行。
要详细说明@bjtitus的答案,您可以获得一些非常详细的信息,例如:
$ lsof -i :8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
squid3 1289 proxy 15u IPv6 14810490 0t0 TCP *:8000 (LISTEN)
$ ps -fp 1289
UID PID PPID C STIME TTY TIME CMD
proxy 1289 1 0 09:48 ? 00:00:00 /usr/sbin/squid3 -N -f /etc/squid-deb-proxy/squid-deb-proxy.conf
我在那里可以看到鱿鱼是一个过程,但实际上是我squid-deb-proxy
占据了港口。
Java应用程序的另一个好例子:
$ lsof -i :4242
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 3075 root 86u IPv4 12019 0t0 TCP *:4242 (LISTEN)
$ ps -fp 3075
UID PID PPID C STIME TTY TIME CMD
root 3075 1 15 May24 ? 3-16:07:25 /usr/local/crashplan/jre/bin/java -Dfile.encoding=UTF-8 -Dapp=CrashPlanService -DappBaseName=CrashPl
您可以在lsof
(LiSt打开文件)中看到它是Java,这没有什么用。ps
使用PID 运行命令,我们可以立即看到它是CrashPlan。