位置: 编程技术 - 正文

linux shell 脚本实现tcp/upd协议通讯(重定向应用)(linux shell脚本编程100例)

编辑:rootadmin

推荐整理分享linux shell 脚本实现tcp/upd协议通讯(重定向应用)(linux shell脚本编程100例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux的shell脚本怎么写,linux的shell脚本,linux shell脚本实例,shell脚本运行linux命令,linux shell脚本实例,linux脚本语言shell,linux shell脚本编程100例,linux shell脚本实例,内容如对您有帮助,希望把文章链接给更多的朋友!

前几天发了重定向以及管道相关使用方法,今天这里发些很有趣的例子。通过重定向实现基于tcp/udp协议的软件通讯。

linux 设备里面有个比较特殊的文件:

/dev/[tcp|upd]/host/port 只要读取或者写入这个文件,相当于系统会尝试连接:host 这台机器,对应port端口。如果主机以及端口存在,就建立一个socket 连接。将在,/proc/self/fd目录下面,有对应的文件出现。

一、测试下:/dev/tcp/host/post文件

从时间服务器读取时间:

[chengmo@centos5 html]$ cat</dev/tcp/time-b.nist.gov/

-- :: 0 0 .3 UTC(NIST) *

上面这条语句使用重定向输入语句就可以了。

二、通过重定向读取远程web服务器头信息

脚本建立后:存为testhttphead.sh

运行结果:

突然有个奇怪想法:我们在windows时代就通过telnet 可以实现tcp/upd协议通讯,那么如果用传统方法怎么实现呢?

找到正确方法:

是不是由于sleep后,echo会推出2秒发给通道:telnet呢?推论可以从这2个方面推翻:

一个方面:通过()括的数据是一对命令,会作为一个子命令执行,一起执行完程序结束。每个命令echo语句,就直接发送到屏幕(也就是标准输出),只要有标准输出了,就会通过通道马上传个:telnet ,如果接下来命令还有输出,会注意传给telnet ,直到()内所有命令执行完,与通道连接就断开了。

再一个方面:如果说是起到推迟发送的话,什么时候有数据过来,发给telnet,什么时候telnet命令启动。跟你推迟一点还是早一点发送过来。没有关系。

linux shell 脚本实现tcp/upd协议通讯(重定向应用)(linux shell脚本编程100例)

这种类型命令,看出sleep,其实就是保持通道跟telnet 连接2秒钟。 通道连接着了,telnet终端输入也还在,因此可以保持从baidu服务器获得数据。

所以,延迟多久,还是跟服务器处理速度有关系。

如果通过echo 向telnet发送数据,保持通道联通,使用sleep是个很好方法。

通过重定向给telnet输入参数这种方法,我还想不到怎么样实现延迟输入。有知道朋友,可以指点指点.

区别:

telnet与echo 实现 http访问,与通过打开读写socket是不一样的,打开socket通道,是可以进行交换处理的。传入命令,活动结果,再传入命令,再获得结果。telnet通过echo 就不能这样处理了。

三、通过shell脚本重定向实现监控memcache状态

实例:

这是通过重定向,实现socket通讯中,发送然后获取返回的例子。其实,上面代码看似一次只能发送一段。时间上。我们可以反复调用:sendmsg ,捕捉输出数据。实现连续的,读与写操作。

实例截图:

其它实现方法:

其实通过:telnet也可以实现的。

[chengmo@centos5 shell]$ (echo "stats";sleep 2)|telnet .0.0.1

通过nc命令实现:

[chengmo@centos5 shell]$ (echo "stats")|nc .0.0.1

不需要加延迟,直接打开通道

第二个程序里面,看到shell完全可以处理交互设计了。如果按照这样,登陆ftp,pop3,stmp都可以类似实现。这些,我们通过shell socket类似程序实现,应该不困难,只是捕捉如发送解析的问题了。

linux shell数据重定向(输入重定向与输出重定向)详细分析 在了解重定向之前,我们先来看看linux的文件描述符。linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作

linux shell 管道命令(pipe)使用及与shell重定向区别 看了前面一节:linuxshell数据重定向(输入重定向与输出重定向)详细分析估计还有一些朋友是头晕晕的,好复杂的重定向了。这次我们看下管道命令了

Linux tcpdump命令详解大全 简介用简单的话来定义tcpdump,就是:dumpthetrafficonanetwork,根据使用者的定义对网络上的数据包进行截获的包分析工具。tcpdump可以将网络中传送的数据包

标签: linux shell脚本编程100例

本文链接地址:https://www.jiuchutong.com/biancheng/371375.html 转载请保留说明!

上一篇:linux shell实现随机数几种方法分享(date,random,uuid)(shell随机)

下一篇:linux shell数据重定向(输入重定向与输出重定向)详细分析(shell linux命令详解)

  • 怎么计提坏账准备到本年利润
  • 固定资产清理亏损的账务处理
  • 个人所得税应如何缴纳
  • 企业所得税减免的会计分录
  • 企业所得税税负高是什么意思
  • 会计能开收据吗?
  • 出口退税普票
  • 残保金上年在职职工工资总额怎么填
  • 同一控制下企业合并和非同一控制下企业合并的区别
  • 如何核算小企业收入
  • 股利支付率怎么找数据
  • 税控服务费能抵扣吗
  • 不达起征点收到销售额如何作分录?
  • 产品亏本销售财务如何处理
  • 收到的软件退税怎么处理
  • 农业企业销售林木是否要交印花税?
  • 银行贷款的纳税申报表指的所得税还是增值税
  • 保安服务税目
  • 堤围费是什么意思
  • 民办非企业是否可以出资设立公司
  • 总资产报酬率可以用净利润计算吗
  • 矿产资源补偿费征收管理规定
  • 利息支出企业所得税税前扣除标准
  • 将捐赠收入计入资本公积转增增值税
  • 1697508991
  • 当月作废的发票是否需要报税
  • 微信语音音乐怎么调
  • 如何把两个人的照片合在一起
  • Linux系统怎么设置常亮
  • bios设置详细介绍配图
  • 微信企业公众号开发平台
  • 使用Huagepage和PGO来提升PHP7的执行性能
  • 鸿蒙系统如何自定义图标
  • nalntsrv.exe - nalntsrv是什么进程 有什么用
  • 购货方获得现金折扣的会计分录怎么写
  • 递延所得税的计税基础
  • laravel5.4利用163邮箱发送邮件的步骤详解
  • php的implode
  • 供热企业的税收分类编码
  • php打包网站并在哪里打开
  • 出口已使用的设备退税还是免税
  • yolov5 教程
  • vue的watch监听props
  • thinkphpgui
  • 长期待摊费用账务处理
  • 上个月的留底税这个使用,会计分录
  • 简述社会保险的项目
  • 事业单位回复短信里的加号要吗
  • 企业所得税研发费用如何加计扣除?
  • 销售成本转结分录
  • 个人代人开普票个税怎么算
  • 货币兑换是根据什么
  • 进项税抵扣销项税算法
  • 不偿还的其他应收款
  • 出口退税 账务处理
  • 房地产开发土地使用税如何计算
  • 法人购买设备投入企业
  • 加工企业三种商业模式
  • sql server的相关技术知识
  • iis如何重新配置
  • CentOS上使用Squid+Stunnel搭建代理服务器教程
  • WUSB54GS.exe - WUSB54GS是什么进程
  • linux删除大量文件方法
  • 13寸的macbook
  • win7 桌面空白
  • linux如何使用gcc编程
  • fdb是什么文件
  • win10下安装office2007
  • windows7开机提示盗版
  • win7取消禁用无线网络
  • win10系统日历设置
  • linux反转
  • js闭包作用问题解决应用
  • node.js的express
  • logcatapp
  • selenium在pycharm
  • android ListView之——ArrayAdapter使用
  • 北京同仁堂怎么挂专家号
  • 古代税收和现代税收
  • 武汉办房产证契税怎么交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设