精华内容
下载资源
问答
  • 2019-09-27 16:59:31

    如有疑问加QQ:3053916151 

    clinet.php
    
    //请求文件
    set_time_limit(0);
    //IP
    $host = "218.91.203.70";
    //端口
    $port = 3800;
    //发送内容
    $data = 'hello world';
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)or die("Could not create  socket\n"); // 创建一个Socket
    $connection = socket_connect($socket, $host, $port) or die("Could not connet server\n");  // 连接
    socket_write($socket, $data) or die("fasongyichang\n"); // 数据传送 向服务器发送消息
    while ($buff = @socket_read($socket, 1024, PHP_NORMAL_READ)) {
      echo("收到返回:" . $buff . "\n");
    }
    socket_close($socket);
    
    
    server.php
    //接收文件,监测文件
    
    //确保在连接客户端时不会超时
    set_time_limit(0);
    //设置IP和端口号
    $address = "218.91.203.70";
    $port = 3800; //调试的时候,可以多换端口来测试程序!
    /**
     * 创建一个SOCKET
     * AF_INET=是ipv4 如果用ipv6,则参数为 AF_INET6
     * SOCK_STREAM为socket的tcp类型,如果是UDP则使用SOCK_DGRAM
    */
    $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("socket_create() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
    //阻塞模式
    socket_set_block($sock) or die("socket_set_block() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
    //绑定到socket端口
    $result = socket_bind($sock, $address, $port) or die("socket_bind() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
    //开始监听
    $result = socket_listen($sock, 4) or die("socket_listen() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
    echo "OK\nBinding the socket on $address:$port ... ";
    echo "OK\nNow ready to accept connections.\nListening on the socket ... \n";
    do { // never stop the daemon
     //它接收连接请求并调用一个子连接Socket来处理客户端和服务器间的信息
     $msgsock = socket_accept($sock) or die("socket_accept() failed: reason: " . socket_strerror(socket_last_error()) . "/n");
    
     //读取客户端数据
     echo "Read client data \n";
     //socket_read函数会一直读取客户端数据,直到遇见\n,\t或者\0字符.PHP脚本把这写字符看做是输入的结束符.
     $buf = socket_read($msgsock, 8192);
     echo "Received msg: $buf \n";
    
     //数据传送 向客户端写入返回结果
     $msg = "shoudao \n";
     socket_write($msgsock, $msg, strlen($msg)) or die("socket_write() failed: reason: " . socket_strerror(socket_last_error()) ."/n");
     //一旦输出被返回到客户端,父/子socket都应通过socket_close($msgsock)函数来终止
     socket_close($msgsock);
    } while (true);
    socket_close($sock);
    

     

    更多相关内容
  • 还支持一些额外的参数,如-i可以调节连接的间隔,-D可以设置延迟发送FIN或RST包 脚本会做的事情 以给定的参数构建五元组,使用TCP去连接目标 记录连接时间,打印在标准输出上,若指定了参数-l,同时还会落盘日志文件...
  • TCP/UDP批量端口测试,可以查看我的博客https://blog.csdn.net/gonepoo/article/details/103612451 直接获取代码,或者是自己下载也行,作者已经在生产环境测试过,很不错,大家可以进行改进操作。
  • Python脚本,Linux下发送TCP协议格式报文发送客户端,用户接口连通性测试发送客户端报文。Python2实现,不用安装第三方库,直接可在发行版Linux使用。
  • 这是一组Powershell脚本,它们通过TCP(JSON)将数据发送到Logstash服务器。 要更深入地了解,请访问 。 特别感谢提供的Powershell TCP连接功能。
  • TCP版backshell的VBS脚本
  • nc -l 10001,必须先开启监听,再想端口发送消息,否则会有如下报错 sentMessageToPort.sh: connect: Connection refused sentMessageToPort.sh: line 12: /dev/tcp/hadoop03/10001: Connection ref...

    下载并安装netcat

    yum install -y nc

    开启监听10001端口

    nc -l 10001,必须先开启监听,再向端口发送消息,否则会有如下报错
    sentMessageToPort.sh: connect: Connection refused
    sentMessageToPort.sh: line 12: /dev/tcp/hadoop03/10001: Connection refused

    shell脚本向端口发消息

    #!/bin/bash
    
    # ${}:对变量的替换,同$var。
    # $():对命令的替换,同``(反引号)。
    # $(()):对内部内容进行整数运算$((var1*var2))。或将其他进制转换为十进制$((N#var)),其中N为进制。
    # (())重定义变量值
    
    # 重定向到文件 exec 3<>/home/hadoop/shScript/xxx
    # 重定向到端口 exec 3<>/dev/"tcp"/hadoop03/10001
    
    function sendmsg(){
            exec 3<>/dev/"tcp"/hadoop03/10001
            num=0;
            while (($num < 100))
            do
                    echo "向端口发送数字$num"
                    echo $num>&3    
                    (( num += 1 ))
                    sleep 1
            done
            exec 3<&-
    }
    echo "---start---"
    sendmsg
    echo "----end----"
    

    sh sentMessageToPort.sh

    发送端

    在这里插入图片描述

    接收端

    在这里插入图片描述

    完美了,可以用于简单的测试,比如flume数据采集

    展开全文
  • 在上篇文章中,在PSNet工具集中创建了Send-TCPMessage和Receive-TCPMessage两个函数实现了通过PowerShell收发TCP消息包的功能,有了TCP包的发送和接收,自然少不了UDP消息包的发送和接收,本文将会介绍通过...
  • 从shell脚本向BEAM发送消息 这是一种将通知从非BEAM程序发送到Elixir的解决方案。 BEAMNotify允许您设置GenServer,以侦听来自Shell脚本或任何可调用OS进程的通知。 通过Unix域套接字进行通信。 消息仅限于通过...
  • 年轻人要讲抄德,抄袭作业又蠢又坏,大家耗子尾汁题目介绍生成TCP活动状况报告:编写shell脚本程序,每隔一分钟生成一行信息,包括当前时间,这一分钟内TCP发送了多少报文,接收了多少报文,收发报文总数(行尾给出+...

    年轻人要讲抄德,抄袭作业又蠢又坏,大家耗子尾汁

    题目介绍

    生成TCP活动状况报告:编写shell脚本程序,每隔一分钟生成一行信息,包括当前时间,这一分钟内TCP发送了多少报文,接收了多少报文,收发报文总数(行尾给出+或-或空格,+表示这分钟收发报文数比上分钟多10包以上,差别在10包或以内的用空格,其余用-)

    运行结果如下(tracetcp.sh是自己写的脚本程序):

    271610ac25e06af4bab8273c8f8765e1.png

    具体操作步骤

    1、根据输出的格式,我们需要当前日期时间等信息,用date命令实现

    time=$(date +"%F %H:%M")

    8b80b828f36e2c05a9973296cda90b30.png

    2、接下来每行加行号查看当前网络信息

    netstat -s | cat -n | more

    20d263d771b21fc75bf66d331762820e.png

    发现tcp在22到32这段:

    ed746c2b7ca1eb32e6c7866b05642113.png

    3、用awk命令提取行数在22到32之间的信息

    netstat -s | awk 'NR>+22 && NR<=32'

    34e7920a3a03c436c136ed018d314404.png

    4、为该命令定义一个别名cattcp,之后可以直接用cattcp命令来查看tcp的当前信息

    alias cattcp="netstat -s | awk 'NR>+22 && NR<=32'"

    e6344d0da4e45a08e86b5f8fdaf3766c.png

    5、发现收发报文的数量在第六和第七行,用echo 命令查看

    0e5ac25a698f88f000a023402f142a4d.png

    33c5cc79fa524dbc6efbab51e0717626.png

    6、将这两项变量赋值给received_before和sent_out_before

    f0a4f42a0a2aadc38718eb27b44e5a2e.png

    7、接下来编写脚本程序

    这里有个小妙招:先在自己的Windows主机上新建一个txt文件,在文件中写下要写的代码,然后再复制虚拟机中,这样不容易出错也不会混乱,代码如下

    cat >tracetcp.sh

    ba1cb0b8d00886ae6e047c93b4d8e8b7.png

    9ca22abe5810710c93866d4dd5df2123.png

    8、运行结果及分析(在该进程下运行这个脚本程序,因为这里用到了一个别名cattcp,如果新创建一个进程运行则cattcp会找不到,另一种方法是把cattcp变成环境变量也可以)

    . tracetcp.sh

    86529b7f847e1d086d85723b5f14b667.png

    9、对代码的补充说明

    完整代码🔗:虽然但是,还是建议自己敲一遍哈

    9.1 第1到12行的代码:实现输出的第一行(不需要输出和前一个时间相比收发的报文总数变化情况)只输出当前时间,第一分钟收发的报文数

    netstat显示的报文数是总的收发报文数,求当前这一分钟的收发报文书要和前一时间的报文数相减

    9.2 第13到34行的代码:一个while循环,实现每隔一分钟生成一行信息

    第13行到17行的代码表示:当当前分钟收发报文数比上分钟多10包以上则输出+,当当前分钟收发报文数比上分钟多不足10包则输出 (空格),当当前分钟收发报文数比上分钟少则输出-

    本文同步分享在 博客“怡宝的代言人连高波”(CSDN)。

    如有侵权,请联系 support@oschina.cn 删除。

    本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

    展开全文
  • CAPL脚本如何实现TCP Socket通信

    千次阅读 2022-02-09 10:40:24
    以下示例来自CANoe DEMO,路径为C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 12.0.101\IO_HIL\TCP_IP Server TCP 由于TCP连接是服务器的tcp socket在listen状态下接受连接请求,从而完成三次...

    以下示例来自CANoe DEMO,路径为C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 12.0.101\IO_HIL\TCP_IP

    Server TCP

    由于TCP连接是服务器的tcp socket在listen状态下接受连接请求,从而完成三次握手操作

    所以,首先服务器应该先创建好tcp socket后,绑定本地端口,然后处于监听状态,这样才能随时接受客户端的连接请求

    CANoe DEMO里关于TCP连接通信是在面板上完成的

    这个面板有TCP和UDP两种通信,UDP通信不需要建立连接,比较简单,这里就不分析了

    server端tcp首先需要填入本地的IP地址和监听的端口号,然后通过点击“Start listening”,完成从创建tcp socket到绑定、监听和接受连接请求的一系列动作

    我们看看是如何用capl实现的

    Server端创建tcp套接字,绑定、监听并接受连接请求

    1. 点击按钮“Start listening”

    将触发这个按钮关联的系统变量的回调函数的执行

    1. 按下去,会执行里面的函数StartLis
    展开全文
  • 目录 通过/dev/tcp、/dev/udp shell给tcp或udp服务发送16进制报文指令 通过/dev/tcp、/dev/udp ...通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接...
  • 通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。 直接发送 格式 /dev/udp/ip/port 比如要本地10001端口发送数据,可以使用 ec.
  • 今天小编就为大家分享一篇关于使用shell来发tcp包的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 端口映射一个最基本的运作形态就是通过一个中间端口将一个端口发送的数据全部转给另一个端口,well,这里我们就来看一下Python实现TCP协议下的端口映射功能的脚本程序示例
  • Linux shell脚本中发起tcp、udp连接

    万次阅读 2019-01-10 21:18:15
    通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。 先看下bash man里面的介绍, /dev/tcp/host/port If host is a valid hostname or Internet address,...
  • Linux发送udp/tcp包最简单方法-netcat

    千次阅读 2021-11-09 21:29:24
    由于测试需要,需要从一台linux另一台建立连接,并发送tcp/udp包。觉得用python写个client/server脚本有点麻烦,于是想找一个命令直接发送,一搜就搜到了netcat 网络拓扑 服务器 先在机器B上进行netcat服务器...
  • tcp端口测试用telnet #!/bin/bash for line in `cat iplist.txt | grep -v ^# |grep -v ^$` do ip=`echo $line | awk 'BEGIN{FS="|"} {print $1}'` port=`echo $line | awk 'BEGIN{FS="|"} {print $2}'` ...
  • 本文档使用Packet Sender工具模拟tcp客户端接入平台。 创建协议 请参考创建协议 创建设备型号 ... ... i.... ii....注意:本文档使用javascript自定义脚本的方式解析消息。 自定义脚本: var BytesUtils =
  • jmeter测试TCP服务器,使用TCP采样器模拟发送TCP请求。 TCP采样器:打开一个到指定服务器的TCP / IP连接,然后发送指定文本并等待响应。 jmeter模拟发送TCP请求的方法: 1.新建线程组,然后在线程组...
  • ScriptCommunicator是可脚本化的跨平台数据终端,支持串行端口(RS232,USB到串行),UDP,TCP客户端/服务器,SPI,I2C和CAN。 所有发送和接收的数据都可以显示在控制台中,并且可以记录在html和文本日志中。 除了...
  • bashshell的内置功能之一是通过/dev/tcp和/dev/udp设备文件打开TCP / UDP套接字。 以下介绍如何在shell中使用tcp/udp socket 在Bash Shell中打开或关闭TCP / UDP套接字 语法: $ exec {file-descriptor} </ ...
  • onenet TCP协议接入,单片机接入物联网详细教程,实时上传数据流,TCP透传,附程序,注释,欢迎交流
  • Arduino通过ESP8266连接至...压缩包中有两个文件,一个是Arduino程序,一个是lua脚本,lua脚本需要上传至onenet的对应TCP透传的产品上去。此代码同样适合STM32通过ESP8266使用TCP透传协议连接至ONENET,原理是一样的
  • python通过tcp发送xml报文的方法

    千次阅读 2020-12-24 06:41:41
    如下所示:# -*- coding: utf-8 -*-import socket# 使用tcp发送请求报文def tcpsend(ip, port, xmlbw):address = (ip, port)client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)client.connect(address)by ...
  • Python 基础 之 网络 socket 使用 tcp (SOCK_STREAM)实现简单的客户端、服务端(消息发送和接收) 一、简单介绍 Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于...
  • Intouch设置ModbusTCP说明

    2019-03-20 14:17:42
    Intouch设置DAserver驱动 DA-Server(ModbusTCP)设置操作说明
  • TCP发送数据流程详解

    千次阅读 2018-11-12 23:54:52
    TCP发送数据流程详解

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,334
精华内容 46,533
关键字:

脚本向发送tcp消息