本帖最后由 iooops 于 2016-3-20 00:31 编辑  
 
nc命令是用于两台机器之间互相通信的命令。 
 
 
在terminal中输入 
			
			
			复制代码 得到如下所示manual: 
  
nc(netcat)就是支持TCP/UDP传输协议的一个小工具。 
 
下面是关于nc命令的用法,摘取原文中的3条(原文地址:http://blog.csdn.net/xifeijian/article/details/9348277): 
 
 linux nc命令使用详解 功能说明:功能强大的网络工具 
语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...] 
参 数: 
 -l  使用监听模式,管控传入的资料。 
 -v 详细输出--用两个-v可得到更详细的内容 
 -w<超时秒数> 设置等待连线的时间。 
-z  使用0输入/输出模式,只在扫描通信端口时使用。 
  
nc使用示例 
  
1. 端口扫描 
# nc -v -w 2 192.168.2.34 -z 21-24 
nc: connect to 192.168.2.34 port 21 (tcp) failed: Connection refused 
Connection to 192.168.2.34 22 port [tcp/ssh] succeeded! 
nc: connect to 192.168.2.34 port 23 (tcp) failed: Connection refused 
nc: connect to 192.168.2.34 port 24 (tcp) failed: Connection refused 
  
2. 从192.168.2.33拷贝文件到192.168.2.34 
在192.168.2.34上: nc -l 1234 > test.txt 
在192.168.2.33上: nc 192.168.2.34 < test.txt 
  
3. 简单聊天工具 
在192.168.2.34上: nc -l 1234 
在192.168.2.33上: nc 192.168.2.34 1234 
这样,双方就可以相互交流了。使用ctrl+C(或D)退出。
  
楼主使用树莓派的IP地址亲试过这三条,表示很好用。 
 
其实nc这个命令也可以用Python实现,其实现也是基于socket。 
以下为源代码(基于http://stackoverflow.com/questions/1908878/netcat-implementation-in-python): 
- import socket
 - 
 - def netcat(hostname, port, content):
 -      s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 -      s.connect((hostname, port))
 -      s.sendall(content)
 -      s.shutdown(socket.SHUT_WR)
 -         while 1:
 -                 data = s.recv(1024)
 -                 if data == "":
 -                         break
 -                 print "Received:", repr(data)
 - print "Connection closed."
 - s.close()
 
  复制代码
  
上述代码 - - 楼主其实并没有亲测过……有兴趣的童鞋亲测一下然后告诉我结果? 
 
 
 
 
 |