前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何通过命令行访问unix socket文件

如何通过命令行访问unix socket文件

原创
作者头像
mariolu
发布2018-09-19 11:46:16
10.1K1
发布2018-09-19 11:46:16
举报

socket为什么不能用传统命令访问?

socket文件不能通过普通的文件读写命令操作(比如说echo "xxx" > socket.file)它。因为它是在网络上面工作的。只能通过socket读写函数去操作它。

socat和ncat命令

其实通过的linux命令socat和ncat可以去操作socket。

其中-U指定了该文件是Unix域socket文件类型,ncat实现了类似于cat命令的访问unix socket。

ncat -U /tmp/tbsocket1

ncat也可以通过映射socket文件到监听的端口上。那么通过curl可以发送请求到该监听端口,实现写操作。

代码语言:javascript
复制
# 映射tcp的8080流量到unix socket

ncat -vlk 8080 -c 'ncat -U /tmp/tbsocket1'

# 通过curl发起http请求访问

curl http://localhost:8080

也可以使用功能更强大的socat来实现。

代码语言:shell
复制
# 映射8080/tcp 到unix socket

socat -d -d TCP-LISTEN:8080,fork UNIX:/tmp/tbsocket1

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • socket为什么不能用传统命令访问?
  • socat和ncat命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档