I am trying to use netcat to send a simple message over TCP, e.g. I want to send the digit 1.

So I understood that I write the following in the terminal, after installing netcat

netcat [ip-address] [port]

But how do I specify the message to be sent? i.e. where to I write "1" ?


2 Answers 2


Create file something.txt, content of file is 1

netcat [ip-address] [port] <something.txt

At destination you must have something to listen to this.



netcat -l -p [port]

to listen to the connection


netcat [server-ip-address] [port]

After connection is establish on cilent simple type 1 and hit enter

  • Submitted an edit changing the useless cat command to redirection to echo. I use this method to send string data to remote machines that are operating as one for greater bash multi-tasking.
    – Yokai
    Nov 14, 2017 at 8:27
  • +1 for the server tip! That's very cool, thanx!
    – j.c
    Feb 26, 2018 at 14:31
  • thnks, this is working for me Jul 11, 2018 at 4:52
  • Just wanted to not that -p is not mandatory, port can be specified directly as non-optional argument netcat -l [port]
    – Do-do-new
    Jan 11 at 10:31

I use:

echo text | netcat host port

So you would just need to run this:

echo 1 | netcat localhost 12345
  • 15
    or netcat <host> <port> <<< 1 Aug 23, 2018 at 18:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .