Linux netcat对tcp/udp的连接和监听

netcat是一个用于TCP/UDP连接和监听的linux工具, 主要用于网络传输及调试领域。

netcat 可以打开TCP连接发送UDP报文,监听在TCP和UDP端口,以及TCP端口扫描,并将错误消息输出到屏幕上。

它可以从文件或网络的一端读取数据,原封不动的将数据发送到另一台主机或文件中 netcat一般缩写为nc

1.支持客户端和服务器

2.支持连出和连入, TCP和UDP以及任意源/目的端口

3.内建端口扫描功能, 带有随机数发生器

4.支持设定tos等

作为CS模型中的服务器来使用 可以监听任意指定的端口  并将客户端的请求输出屏幕上,并将输入发送到客户端

netcat -l  8080    //监听8080端口来接受客户端的连接,

netcat 127.0.0.1 8080 //启动客户端打开连接 

(1) 作为客户端

nc  www.baidu.com 80

(2)作为服务器

netcat  -l -p 8080     

-l :指明netcat处于监听模式,   

-p 指定源端口号

一般在服务器启动任意端口来测试防火墙是否生效

(3)使用netcat进行文件传输

nc -l -p 8899  < aa.pcap    //这台机器ip为192.168.6.10 

nc 192.168.6.10 8899 > bb.pcap    

(4)使用netcat进行端口扫描 用来探测主机服务  一般使用软件nmap

nc  -v  -z  -r  -i  1  127.0.0.1  20-100  

-z:指定端口扫描打开仅连接不发送数据   

-v:显示详细信息(不指定不会报告打开的端口)  

-i:当连接多个端口时 两个端口建立连接的时间间隔。   

-r :让netcat 在指定的端口范围内无序的扫描端口(默认是从低到高依次扫描)    

(5)使用netcat进行UDP报文传输

cat register.sip | nc -q 1 -u localhost 5060 > /dev/null    

将文本文件register.sip文件输出作为nc的输入  向端口号为5060的服务器发送 register.sip

-q 1:表示发送完等待1秒后退出  

-u:表示使用UDP协议来发送报文(默认使用TCP)

(6) 使用netcat 提供网络登录服务,   netcat的强大之处就是可以启动程序来提供远程登录的服务

nc  -l  -p  1234  -e  /bin/sh    //server 路由器

nc  192.168.6.1  1234  //client  这样将连接到服务器 可以执行服务器上的任何命令

-e:表示连接成功后执行的程序

-T tos:设置报文的tos标识     

-s:指定用于发送报文的源IP地址(在主机有多个接口地址时使用)

上一篇:使用OOS自动删除7天前创建的快照


下一篇:Linux学习(CentOS-7)---登录和注销Linux系统