Netcat 了解

工作项目中遇到有用Netcat来实现Windows -> Macos通信,传输文件与数据的。所以想了解一下。

Netcat 简称nc,是一款简单的Unix工具,使用UDP和TCP协议。 它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。 使用它你可以轻易的建立任何连接。内建有很多实用的工具。

查看帮助:

$ nc
usage: nc [-46AacCDdEFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval] [-p source_port]
      [--apple-recv-anyif] [--apple-awdl-unres]
      [--apple-boundif ifbound]
      [--apple-no-cellular] [--apple-no-expensive]
      [--apple-no-flowadv] [--apple-tcp-timeout conntimo]
      [--apple-tcp-keepalive keepidle] [--apple-tcp-keepintvl keepintvl]
      [--apple-tcp-keepcnt keepcnt] [--apple-tclass tclass]
      [--tcp-adp-rtimo num_probes] [--apple-initcoproc-allow]
      [--apple-tcp-adp-wtimo num_probes]
      [--setsockopt-later] [--apple-no-connectx]
      [--apple-delegate-pid pid] [--apple-delegate-uuid uuid]
      [--apple-kao] [--apple-ext-bk-idle]
      [--apple-netsvctype svc] [---apple-nowakefromsleep]
      [--apple-notify-ack] [--apple-sockev]
      [--apple-tos tos] [--apple-tos-cmsg]
      [-s source_ip_address] [-w timeout] [-X proxy_version]
      [-x proxy_address[:port]] [hostname] [port[s]]

我们可以使用NetcatHTTP服务器建立连接,以百度为例,使用下面命令与百度建立TCP连接、$ nc www.baidu.com 80

端口扫描

Netcat还可以用来做端口扫描,用来发现一些机器上开放的端口

$ nc -zv localhost 9995-9999

我们可以使用NetcatHTTP服务器建立连接,以百度为例,使用下面命令与百度建立TCP连接

$ nc www.baidu.com 80

数据通信:

建立TCP连接,只需要执行两行命令,就能实现简单的聊天功能,如在当前MacOS模拟通信测试 

打开2个终端界面,一个是监听端-服务端:nc -l 8500

另一个是客户端:nc 127.0.0.1 8500, 回车之后,输入hello, 可以看到前面的终端也收到hello

文件传输:

通过建立TCP连接,可以很方便的在两台主机间传输文件。如要将服务器A上的test.txt发送到服务器B(IP地址为172.16.0.4)上,在服务器B上执行

$ nc -l 8500 > /Users/gdlocal/Documents/ConfigInfo.json


然后在服务器A上执行

$ nc 127.0.0.1 8500 < /Users/gdlocal/Documents/ConfigInfo.json

传输成功,虽然是同一个目录下的同文件 (不同路径会报错) ,但是可以通过文件创建时间是更新来判断是传输成功。

如前面所说项目中遇到客户用Netcat实现一个服务端,由我们来实现客户端向他们传输数据,以下是参考解决方案,使用的是python telnetlib库实现向他传输数据。

MacOS telnet 通信,客户端用python实现解决方法_LlanyW的专栏-CSDN博客tcprelay --portoffset 10000 22 23 873 启动一个直连到MacOS的外设服务端Connecting to USB device...XXXXX Feb 28 15:30:36 tcprelay[75549] <Info>: Created thread to connect [::1]:10023->[::1]:50602<12> to unix:0<15>以下是python 使用telnetlib...https://blog.csdn.net/LlanyW/article/details/123211128?spm=1001.2014.3001.5502

参考 :Netcat 介绍及使用_黄晓宇的博客-CSDN博客_netcatNetcat 介绍Netcat(简称nc)是一款强大的命令行网络工具,用来在两台机器之间建立TCP/UDP连接,并通过标准的输入输出进行数据的读写Netcat 安装大部分的Linux发行版会都会自带Netcat,可以使用nc命令查看系统中是否有安装Netcat$ ncusage: nc [-46AacCDdEFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval] [-p source_port] [--apple-recv-anyif] [--.https://blog.csdn.net/qq_35787138/article/details/113923316 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值