connect via netcat and send messages in bash script

28,375

I have found a way to do this here: Send Commands to socket using netcat

You have to put the messages you want to send in a textfile (lets say msg.txt) and then

nc localhost [pseudoport] < msg.txt

The text file should look like this:

message1
message2
message3
...

Every message has to be in a new line.

The link I posted has a better explanation why this has to be done the way it is done here (there is no explanation in the duplicate article).

Share:
28,375

Related videos on Youtube

OcK
Author by

OcK

Updated on September 18, 2022

Comments

  • OcK
    OcK over 1 year

    When I am writing a bash script like the following:

    #!/bin/bash
    
    nc localhost [pseudoport]
    echo "test"
    

    it connects to the server but does not send the text "test".

    It works with

    #!/bin/bash
    
    echo "test" | nc localhost [pseudoport]
    

    The problem here is that the connection exits after something has been received.

    How can I send multiple messages, in my case a fixed preamble followed by a variable data?

    • Robby1212
      Robby1212 about 6 years
      You are running the script in the command line correct?
    • OcK
      OcK about 6 years
      yes that is correct
    • David Foerster
      David Foerster about 6 years
      What do you mean "send continuously"? Do you want to send a fixed preamble followed by variable data from a file or standard input through nc (or any process consuming its standard input stream for that matter)?
    • OcK
      OcK about 6 years
      Yes @DavidFoerster I wanted to send a fixed preamble followed by a variable data. The link I posted describes how you should do it (from a file).
    • OcK
      OcK about 6 years
      @DavidFoerster done.