Home > Article > Operation and Maintenance > What is the difference between linux nc and telnet
nc and telnet implement different functions: 1. Telnet can connect to the server port and communicate; while nc can listen to the server port and communicate with the client (it can only receive at most one client). 2. Telnet can log in to the remote telnet server and control it using the command line; while nc performs port scanning on the specified server and connects to the remote server as a client for communication.
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
Introduction to Telnet
The telnet program can talk directly to the web server.
Through telnet, you can open a TCP connection to a certain port on a certain machine, and then enter some characters directly into that port. The web server will handle the telnet program as a web client, and all data sent back to the TCP connection will be displayed on the screen.
telnet www.xxx.com 80 GET /tools.html HTTP/1.1 Host: www.xxx.com
response:
HTTP/1.1 200 OK DATE: Sun, 01 Oct 2000 23:25:17 GMT Server: Apache/1.3.11 BSafe-SSL/1.38 (Unix) FrontPage/4.0.4.3 Last-Modified: Tue, 04 Jul 2000 09:46:21 GMT ETag: "373979-193-3961b26d" Accept-Ranges: bytes Content-length: 403 Connection: close Content-Type: text/html <html> <head><title>xxxx</title></head> <body> <h1>Tools page</h1> ... </body> </html> Connection closed by foreign host.
Telnet will look up the hostname and open a connection to the web server listening on port 80 at www.xxx.com.
Telnet can simulate an HTTP client very well, but it cannot be used as a server. And it is very troublesome to automate scripts for telnet. If you want a more flexible tool, take a look at netcat below. Through
nc
, you can easily manipulate UDP and TCP-based traffic (including HTTP), and you can also write scripts for it.
Introduction to Netcat (NC)
Netcat has the reputation of "Swiss Army Knife" among network tools. It is a very simple Unix tool that can read and write TCP or UDP network connections. It is designed to be a reliable back-end tool that you can use in a variety of ways within your scripts by combining it with other tools and redirecting it. At the same time, it is a feature-rich network debugging and development tool, because it can establish almost any type of connection you may use, as well as some very interesting built-in features. Netcat, its actual executable name is nc, is a Unix tool that has been provided for a long time but has no public de facto standard. It's amazing what you can accomplish with NC commands.
Netcat can also be used as a server, listening for connection requests (inbound connections) on any specified port, and can perform the same read and write operations. Aside from minor limitations, it doesn't actually care whether it's running in "client" mode or "server" mode, it just ships all the data back and forth. In either mode, you can set an inactivity time to forcefully close the connection. It can also complete these functions through UDP, so it is like a UDP program like telnet to test your UDP server. As its "U" indicates, UDP is an unreliable data transfer compared to TCP, and some systems will have trouble sending large amounts of data using UDP, but it has some uses.
What NC does is establish a link between two computers and return two data streams. What you can do after that depends on your imagination. You can set up a server, transfer files, chat with friends, stream media or use it as a standalone client for other protocols.
Main purposes
Generally, the most common things we use netcat to do are the following three:
1. Scan the specified IP port situation
2. Port forwarding data (key points)
3. Submit custom data packets
The difference between nc and telnet
Functions that telnet can implement:
Connect to the server port and communicate
Log in to the remote telnet server and use the command line to Control
Functions that nc can implement:
Listen to the server port and communicate with the client (can only receive at most one client)
Perform port scanning on the specified server
Connect to the remote server as a client for communication
Extended knowledge:
The reason why Telnet is blocked
1. The problem of the telnet service itself: whether the service is enabled
2. Firewall policy issues: Whether the system firewall where the telnet service is located has restrictions, and whether the firewall between the source host and the host that provides the telnet service has restrictions.
3. Whether the service has restrictions ip, whether the service has reached the maximum number of connections
Reasons for ping failure
1. The server is not started/ip does not exist
2. Different network segments , cannot be found through routing
3. Firewall settings filter ICMP packets sent by ping, resulting in no feedback, time out
4. IP address setting error, for multiple network cards For the server, the IP configuration of each network port must not be in the same network segment, otherwise it will cause the routing to not know which outlet to choose
5, network cable failure
6), and no gateway is set , this is for the small network 128 network segment, using the router, if it is not configured, it will not be able to route
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of What is the difference between linux nc and telnet. For more information, please follow other related articles on the PHP Chinese website!