【问题标题】:How can I automate sending and receiving TCP traffic using netcat in Bash?如何在 Bash 中使用 netcat 自动发送和接收 TCP 流量?
【发布时间】:2017-12-10 16:28:10
【问题描述】:

我正在尝试通过使用 netcat 发送 TCP 流量来创建一些测试网络流量。

问题在于接收 TCP 数据的 netcat 命令不会自行结束,这很有意义。

我想知道如何让脚本继续运行到 TCP 流量的发送部分。类似于:

#!/bin/bash

#Prepare to receive traffic
nc -vv -l -p 5000 > receiveData.txt

#Send traffic
nc -nvv localhost 5000 < sendData.txt

显然脚本永远不会到达#Send traffic 行,因为接收流量永远不会结束。我一直在研究在 bash 中异步运行函数的方法,但我读过的任何东西似乎都无法解决这个问题。

【问题讨论】:

    标签: linux bash tcp netcat


    【解决方案1】:

    在后台运行接收流量进程以便执行其他命令怎么样?

    # Prepare to receive traffic
    # Running this process in the background so that the sending TCP traffic
    # happens
    
    nc -vv -l -p 5000 > receiveData.txt &
    
    #Send traffic
    nc -nvv localhost 5000 < sendData.txt
    

    【讨论】:

    • 我应该在问之前尝试过,但我认为这样做只会让我运行脚本一次,然后让监听端口保持打开状态。我忘记了,如果发送成功,它将关闭接收。谢谢....如此明显的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 2013-04-28
    相关资源
    最近更新 更多