42

OpenBSD netcat demystified

 5 years ago
source link: https://www.tuicool.com/articles/hit/nUrIfuE
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

OpenBSD netcat demystified

Owing to its versatile functionalities, netcat earns the reputation as "TCP/IP Swiss army knife". For example, you can create a simple chat app using netcat :

(1) Open a terminal and input following command:

# nc -l 3003

This means a netcat process will listen on 3003 port in this machine (the IP address of current machine is 192.168.35.176 ).

(2) Connect aforemontioned netcat process in another machine, and send a greeting:

# nc 192.168.35.176 3003
hello

Then in the first machine's terminal, you will see the "hello" text:

# nc -l 3003
hello

A primitive chatroom is built successfully. Very cool! Isn't it? I think many people can't wait to explore more features of netcat now. If you are among them, congratulations! This tutorial may be the correct place for you.

In the following parts, I will delve into OpenBSD 's netcat code to give a detailed anatomy of it. The reason of picking OpenBSD 's netcat rather than others' is because its code repository is small ( ~2000 lines of code) and neat. Furthermore, I also hope this little book can assist you learn more socket programming knowledge not just grasping usage of netcat .

We're all set. Let's go!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK