04-nc命令

@

1. 安装

yum install nc -y

2. 选项

2.1 帮助命令

[root@DoM01 ~]# nc -h
Ncat 7.50 ( https://nmap.org/ncat )
Usage: ncat [options] [hostname] [port]

Options taking a time assume seconds. Append 'ms' for milliseconds,
's' for seconds, 'm' for minutes, or 'h' for hours (e.g. 500ms).

  -4                         Use IPv4 only
  -6                         Use IPv6 only
  -U, --unixsock             Use Unix domain sockets only
  -C, --crlf                 Use CRLF for EOL sequence
  -c, --sh-exec <command>    Executes the given command via /bin/sh
  -e, --exec <command>       Executes the given command
      --lua-exec <filename>  Executes the given Lua script
  -g hop1[,hop2,...]         Loose source routing hop points (8 max)
  -G <n>                     Loose source routing hop pointer (4, 8, 12, ...)
  -m, --max-conns <n>        Maximum <n> simultaneous connections
  -h, --help                 Display this help screen
  -d, --delay <time>         Wait between read/writes
  -o, --output <filename>    Dump session data to a file
  -x, --hex-dump <filename>  Dump session data as hex to a file
  -i, --idle-timeout <time>  Idle read/write timeout
  -p, --source-port port     Specify source port to use
  -s, --source addr          Specify source address to use (doesn't affect -l)
  -l, --listen               Bind and listen for incoming connections
  -k, --keep-open            Accept multiple connections in listen mode
  -n, --nodns                Do not resolve hostnames via DNS
  -t, --telnet               Answer Telnet negotiations
  -u, --udp                  Use UDP instead of default TCP
      --sctp                 Use SCTP instead of default TCP
  -v, --verbose                (can be used several times)
  -w, --wait <time>          Connect timeout
  -z                         Zero-I/O mode, report connection status only
      --append-output        Append rather than clobber specified output files
      --send-only            Only send data, ignoring received; quit on EOF
      --recv-only            Only receive data, never send anything
      --allow                Allow only given hosts to connect to Ncat
      --allowfile            A file of hosts allowed to connect to Ncat
      --deny                 Deny given hosts from connecting to Ncat
      --denyfile             A file of hosts denied from connecting to Ncat
      --broker               Enable Ncat's connection brokering mode
      --chat                 Start a simple Ncat chat server
      --proxy <addr[:port]>  Specify address of host to proxy through
      --proxy-type <type>    Specify proxy type ("http" or "socks4" or "socks5")
      --proxy-auth <auth>    Authenticate with HTTP or SOCKS proxy server
      --ssl                  Connect or listen with SSL
      --ssl-cert             Specify SSL certificate file (PEM) for listening
      --ssl-key              Specify SSL private key (PEM) for listening
      --ssl-verify           Verify trust and domain name of certificates
      --ssl-trustfile        PEM file containing trusted SSL certificates
      --ssl-ciphers          Cipherlist containing SSL ciphers to use
      --version              Display Ncat's version information and exit

2.2 常用示例

- 监听TCP端口(默认)

nc -lv 10.10.239.32 1840

说明:

  • -l 启动监听模式(作为服务器监听指定端口)
  • -v 显示信息和错误

- 监听UDP端口

nc -luv 10.10.239.32 1840                                                                                                                                                                                                                                                                                                                    

说明:

  • -u UDP模式

- 链接TCP端口

nc -vz 10.10.239.32 1840

- 链接UDP端口

nc -vz 10.10.239.32 1840

说明:

  • -z 链接不传输数据

- 接收数据重定向

 nc -lv 10.10.239.32 1840 > liubei.txt

- 上传数据

nc -v 10.10.239.32 1840 < liubei.txt

3. 完整示例

3.1 示例1(端口联通检查)

  • 检查本地服务器是和 10.10.239.65的80端口是否能建立TCP链接。
[root@liubei-01 ~]# nc -vz 10.10.239.65 80
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.10.239.65:80.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

如上可见,可以联通。

  • 检查本地服务器是和 10.10.239.65的80端口是否能建立UDP链接。
[root@liubei-01 ~]# nc -vuz 10.10.239.65 80
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.10.239.65:80.
Ncat: Connection refused.

如上可见,不能联通。

3.2 示例2(文件传输)

  • 接收端创建监听服务
[root@liubei-01 ~]# nc -lv 10.10.239.32 1840 > liubei.txt
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on 10.10.239.32:1840

服务端会在前台等待接收

  • 客户端准备文件
[root@liubei-02 ~]# cat > liubei.txt << EOF
> 姓名:刘备
> 势力:西蜀
> 身份:主公
> EOF
  • 客户端上传文件
[root@liubei-02 ~]# nc -v 10.10.239.32 1840 < liubei.txt
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.10.239.32:1840.
Ncat: 48 bytes sent, 0 bytes received in 0.01 seconds.

  • 服务端显示
[root@liubei-02 ~]# nc -v 10.10.239.32 1840 < liubei.txt
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.10.239.32:1840.
Ncat: 48 bytes sent, 0 bytes received in 0.01 seconds.

传输完毕服务端会结束

  • 服务端查看接收的文件
[root@liubei-01 ~]# cat liubei.txt
姓名:刘备
势力:西蜀
身份:主公

3.3 带宽测试

本例使用udp测试

  • 创建server监听80端口接收upd包,接收数据传入黑洞
[root@liubei-01 ~]# nc -uvl 10.10.239.32 80 > /dev/null
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on 10.10.239.32:80

  • 客户端推送udp包
[root@liubei-01 ~]# nc -u 10.10.239.32 80 < /dev/zero
  • 监控网络流量

本例使用iftop工具,在客户端查看实时网速。(当然你也可以使用别的方案)

iftop -i eth0

如果没有直接yum

yum install iftop -y

监控结果显示

结果有很多条,其他数据我省略了。

                                         1.86Gb                                   3.73Gb                                   5.59Gb                                   7.45Gb                              9.31Gb
└────────────────────────────────────────┴────────────────────────────────────────┴────────────────────────────────────────┴────────────────────────────────────────┴─────────────────────────────────────────
liubei-02                                                                                 => 10.10.239.32                                                                              3.27Gb  3.38Gb  3.30Gb
                                                                                          <=                                                                                              0b      0b      0b
…………
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
TX:             cum:   84.5GB   peak:   4.11Gb                                                                                                                                rates:   3.28Gb  3.39Gb  3.30Gb
RX:                     521MB           13.2Mb                                                                                                                                         3.23Mb  5.74Mb  4.59Mb
TOTAL:                 85.0GB           4.11Gb                                                                                                                                         3.28Gb  3.39Gb  3.31Gb

结果说明:

  • 顶部数据:网速标尺
  • 中部数据:每个链接的网络数据(我只保留了我们测试的一条,其他用省略号表示)
    • 第一列:本机源地址
    • 第二列:远端目标地址
    • 第三列:2s平均网速
    • 第四列:10s平均网速
    • 第五列:40s平均网速
  • 底部数据
开启后合计值 峰值 2s平均流量 10s平均流量 40s平均流量
发送的数据
接收的数据
汇总

posted on 2023-02-01 09:58  运维开发玄德公  阅读(25)  评论(0编辑  收藏  举报  来源

导航