Linux中nc命令是一个功能强大的网络工具,全称是netcat。

1.语法:

 
  1. nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]

  2.  
  3. 参数说明:

  4. -g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。

  5. -G<指向器数目> 设置来源路由指向器,其数值为4的倍数。

  6. -h 在线帮助。

  7. -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。

  8. -l 使用监听模式,管控传入的资料。

  9. -n 直接使用IP地址,而不通过域名服务器。

  10. -o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。

  11. -p<通信端口> 设置本地主机使用的通信端口。

  12. -r 乱数指定本地与远端主机的通信端口。

  13. -s<来源位址> 设置本地主机送出数据包的IP地址。

  14. -u 使用UDP传输协议。

  15. -v 显示指令执行过程。

  16. -w<超时秒数> 设置等待连线的时间。

  17. -z 使用0输入/输出模式,只在扫描通信端口时使用。

2.实例:

2.1 TCP端口扫描

 
  1. # nc -v -z -w2 127.0.0.1 1-100

  2. Connection to 127.0.0.1 22 port [tcp/ssh] succeeded!

  3. Connection to 127.0.0.1 53 port [tcp/domain] succeeded!

  4. Connection to 127.0.0.1 80 port [tcp/http] succeeded!

  5. ...

  6. nc: connect to 127.0.0.1 port 100 (tcp) failed: Connection refused

2.2 从192.168.1.2拷贝文件到192.168.1.3

首先在接收端192.168.1.3上: nc -l 1234 > test.txt

然后在发送端192.168.1.2上: nc 192.168.1.3 < test.txt

注意:先运行接收端,指定一个端口为1234,文件为test.txt,再执行发送端,并且发送端必须存在同名的文件test.txt

2.3 传输目录

 
  1. 从server1(192.168.16.233)拷贝nginx目录内容到server2(192.168.48.47)上。需要先在server2上,用nc激活监听,

  2. server2上运行:# nc -l 1234 | tar xzv-

  3. server1上运行:# tar czv- nginx | nc 192.168.48.47 1234

2.4 简单聊天工具

 
  1. 在192.168.1.2上: nc -l 1234

  2. 在192.168.1.3上: nc 192.168.1.2 1234

  3. 这样,双方就可以相互交流了。使用ctrl+C(或D)退出

3.通过Nc 查询 Zookeeper的信息

3.1 取 ZooKeeper 服务的当前状态及相关信息。

ZooKeeper四字命令功能描述
conf打印配置
cons列出所有连接到这台服务器的客户端全部连接/会话详细信息。包括"接受/发送"的包数量、会话id、操作延迟、最后的操作执行等等信息。
crst重置所有连接的连接和会话统计信息。
dump列出那些比较重要的会话和临时节点。这个命令只能在leader节点上有用。
envi打印出服务环境的详细信息。
reqs列出未经处理的请求
ruok即"Are you ok",测试服务是否处于正确状态。如果确实如此,那么服务返回"imok",否则不做任何相应。
stat输出关于性能和连接的客户端的列表。
srst重置服务器的统计。
srvr列出连接服务器的详细信息
wchs列出服务器watch的详细信息。
wchc通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表。
wchp通过路径列出服务器watch的详细信息。它输出一个与session相关的路径。
mntr输出可用于检测集群健康状态的变量列表

3.2 如何使用Nc命令

echo mntr | nc ip 2181
指标名解释
zk_version版本
zk_avg_latency平均 响应延迟
zk_max_latency最大 响应延迟
zk_min_latency最小 响应延迟
zk_packets_received收包数
zk_packets_sent发包数
zk_num_alive_connections活跃连接数
zk_outstanding_requests堆积请求数
zk_server_state主从状态
zk_znode_countznode 数
zk_watch_countwatch 数
zk_ephemerals_count临时节点数
zk_approximate_data_size近似数据总和大小
zk_open_file_descriptor_count打开 文件描述符 数
zk_max_file_descriptor_count最大 文件描述符 数
leader才有的指标
zk_followersFollower 数
zk_synced_followers已同步的 Follower 数
zk_pending_syncs阻塞中的 sync 操作

3.3 常见操作

3.3.1、 Zookeeper服务器当前节点配置信息: echo conf|nc localhost 2181

3.3.2、cons:echo cons|nc localhost 2181 输出当前服务器所有客户端连接的详细信息:(线上环境谨慎使用)

3.3.3、crst:重置所有客户端连接统计信息

3.3.4、dump:echo dump|nc localhost 2181,输出当前集群的所有会话消息(Lead谨慎使用)

3.3.5、envi:echo envi|nc localhost 2181,输出服务器运行时的环境信息 ![]

3.3.6、ruok:echo ruok|nc localhost 2181,输出当前Zookeeper是否正在运行。是,则返回 'imok'。

3.3.7、stat:echo stat|nc localhost 2181,服务器运行时状态信息:

3.3.8、srvr:和stat功能一致,但不会输出客户端连接情况;

3.3.9、srst:重置所有服务器统计信息;

3.3.10、wchs:echo wchs|nc localhost 2181,输出当前服务器管理的Watcher信息

3.3.11、wchp:echo wchp|nc localhost 2181,与wchs类似,但以节点路径为单位对Watcher信息进行归组;

3.3.12、mntr:echo mntr|nc localhost 2181,比stat更为详尽的服务器信息,

3.3.13、 wchc:echo wchc | nc 127.0.0.1 2181通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
3.3.14、 req:echo reqs | nc 127.0.0.1 2181列出未经处理的请求。
3.3.15、 kill:echo kill | nc 127.0.0.1 2181 关掉server(谨慎操作)

转载于:https://blog.51cto.com/zhangyc/2341550

Logo

更多推荐