加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – 在Solaris上的某个端口上侦听什么进程?

发布时间:2020-12-15 09:07:42 所属栏目:安全 来源:网络整理
导读:所以我登录到一个Solaris盒子,尝试启动Apache,发现已经有一个进程侦听端口80,它不是Apache。我们的盒子没有安装lsof,所以我不能查询。我想我可以做: pfiles `ls /proc` | less 并寻找“端口:80”,但如果有人有一个更好的解决方案,我都耳朵!甚至更好
所以我登录到一个Solaris盒子,尝试启动Apache,发现已经有一个进程侦听端口80,它不是Apache。我们的盒子没有安装lsof,所以我不能查询。我想我可以做:
pfiles `ls /proc` | less

并寻找“端口:80”,但如果有人有一个更好的解决方案,我都耳朵!甚至更好,如果我可以寻找听力过程,而不是根。我对shell和C解决方案都开放;我不介意有一个自定义可执行文件来携带我下次出现。

更新:我在说的通用安装的solaris,我不是管理员(虽然我有超级用户访问),所以从免费软盘安装的东西不是一个选项。显然,没有使用针对fuser,netstat或其他工具的特定于Linux的扩展。到目前为止,运行pfiles对所有进程似乎是最好的解决方案,不幸的是。如果这仍然是这种情况,我可能会发布一个回答与一些稍微更有效的代码,上面的剪辑。

我发现这个脚本在某个地方。我不记得在哪里,但它适用于我:
#!/bin/ksh

line='---------------------------------------------'
pids=$(/usr/bin/ps -ef | sed 1d | awk '{print $2}')

if [ $# -eq 0 ]; then
   read ans?"Enter port you would like to know pid for: "
else
   ans=$1
fi

for f in $pids
do
   /usr/proc/bin/pfiles $f 2>/dev/null | /usr/xpg4/bin/grep -q "port: $ans"
   if [ $? -eq 0 ]; then
      echo $line
      echo "Port: $ans is being used by PID:c"
      /usr/bin/ps -ef -o pid -o args | egrep -v "grep|pfiles" | grep $f
   fi
done
exit 0

编辑:这是原始来源:
[Solaris] Which process is bound to a given port ?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读