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

可以使用bash来创建服务器吗?

发布时间:2020-12-15 21:10:19 所属栏目:安全 来源:网络整理
导读:有没有办法用bash编程服务器? 基本上我希望能够从PHP客户端连接到bash服务器并发送将在控制台中显示的消息. 解决方法 首先是坏消息 不幸的是,在纯粹的Bash中似乎没有希望这样做. 甚至做了 exec 3 /dev/tcp/ip/port 不起作用,因为这些特殊文件是在connect()
有没有办法用bash编程服务器?

基本上我希望能够从PHP客户端连接到bash服务器并发送将在控制台中显示的消息.

解决方法

首先是坏消息

不幸的是,在纯粹的Bash中似乎没有希望这样做.

甚至做了

exec 3<> /dev/tcp/<ip>/<port>

不起作用,因为这些特殊文件是在connect()而不是bind()上实现的.如果我们查看来源,这是显而易见的.

例如,在Bash 4.2中,函数_netopen4()(或IPv6的_netopen6())读取如下(lib / sh / netopen.c):

s = socket(AF_INET,(typ == 't') ? SOCK_STREAM : SOCK_DGRAM,0);
  if (s < 0)
    {
      sys_error ("socket");
      return (-1);
    }

  if (connect (s,(struct sockaddr *)&sin,sizeof (sin)) < 0)
    {
      e = errno;
      sys_error("connect");
      close(s);
      errno = e;
      return (-1);
    }

可以使用命令行工具,如nc.例如.,

nc -l <port>

将侦听localhost上的传入连接:< port>.

(编辑:李大同)

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

    推荐文章
      热点阅读