当前位置:   article > 正文

nc 使用

nc 使用

目录

1. 网络测试

1.1 连通性测试

1.2 网速测试

1.2.1 正向测速

1.2.2 反向测速

2. 文件传输

2.1 正向传输

2.2 反向传输

3. 传输目录

4. shell

4.1 正向shell

5. 端口转发

6. 代理模式


1. 网络测试

1.1 连通性测试

  1. # 服务端
  2. [centos@localhost apache-tomcat-10.0.14]$ nc -l 12345
  3. test123
  4. abc
  5. # 客户端验证连通性(网络通时)
  6. [centos@localhost tomcat]$ nc 192.168.10.6 12345
  7. test123
  8. abc
  9. # 正常接受发送消息,支持双向收发处理。
  10. # 客户端验证连通性(网络不通时)
  11. [centos@localhost tomcat]$ nc 192.168.20.6 12345
  12. Ncat: Connection refused.
  13. # 此错误可能是网络通,但是端口未被listen, 因此需要借助服务端nc -l进行listen处理。
  14. # 网络不可达,超时
  15. [centos@localhost tomcat]$ nc 192.168.10.6 12345
  16. Ncat: Connection timed out.

1.2 网速测试

1.2.1 正向测速

  1. # 服务端 - 重定向/dev/null, 直接丢弃掉
  2. [centos@localhost apache-tomcat-10.0.14]$ nc -l 12345 > /dev/null
  3. # 客户端 - 将/dev/zero数据写入服务端
  4. [centos@localhost tomcat]$ nc localhost 12345 < /dev/zero
  5. # dstat测速
  6. # 如果没有安装,请使用yum install dstat 按提示输入y安装
  7. [root@localhost ~]# dstat
  8. You did not select any stats, using -cdngy by default.
  9. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
  10. usr sys idl wai hiq siq| read writ| recv send| in out | int csw
  11. 0 0 100 0 0 0|1188B 9783B| 0 0 | 0 8B| 95 108
  12. 28 70 0 0 0 2| 0 0 | 60B 874B| 0 0 |1010 1029
  13. 28 71 0 0 0 1| 0 0 | 60B 338B| 0 0 |1014 1029
  14. 29 69 0 0 0 2| 0 0 | 60B 338B| 0 0 |1014 1023
  15. 30 68 0 0 0 2| 0 0 | 60B 338B| 0 0 |1011 1015
  16. 27 70 0 0 0 3| 0 0 | 60B 338B| 0 0 |1017 937
  17. 26 72 0 0 0 2| 0 12k| 60B 338B| 0 0 |1008 1021
  18. 29 68 0 0 0 3| 0 0 | 60B 346B| 0 0 |1019 1027

1.2.2 反向测速

  1. # 服务端 - /dev/zero 读取0 , 发送数据给客户端
  2. [centos@localhost apache-tomcat-10.0.14]$ nc -l 12345 < /dev/zero
  3. # 客户端 - 将接受数据写入/dev/null, 直接丢弃掉
  4. [centos@localhost tomcat]$ nc localhost 12345 > /dev/null
  5. # dstat测速
  6. # 如果没有安装,请使用yum install dstat 按提示输入y安装
  7. [root@localhost ~]# dstat
  8. You did not select any stats, using -cdngy by default.
  9. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
  10. usr sys idl wai hiq siq| read writ| recv send| in out | int csw
  11. 0 0 100 0 0 0|1189B 9789B| 0 0 | 0 8B| 94 108
  12. 23 75 0 0 0 2| 0 0 | 120B 818B| 0 0 |1004 733
  13. 24 74 0 0 0 2| 0 0 | 120B 338B| 0 0 |1007 720
  14. 25 73 0 0 0 2| 0 0 | 120B 338B| 0 0 |1002 681
  15. 23 75 0 0 0 2| 0 0 | 120B 338B| 0 0 |1015 700
  16. 25 72 0 0 0 3| 0 0 | 120B 338B| 0 0 |1014 715
  17. 26 73 0 0 0 1| 0 0 | 120B 338B| 0 0 |1013 719
  18. 24 73 0 0 0 3| 0 0 | 120B 338B| 0 0 |1012 701
  19. # 由于服务端、客户端都启动在一台机器上面,所以收发数据一样。

2. 文件传输

2.1 正向传输

  1. # 文件接收端 (先启动)
  2. [centos@localhost temp]$ nc -l 12345 > 1.txt
  3. [centos@localhost temp]$ ll -lrht
  4. total 12M
  5. -rw-rw-r--. 1 centos centos 12M Jan 26 20:55 1.txt
  6. # 检查md5值
  7. [centos@localhost temp]$ md5sum 1.txt
  8. 99d91eb05e076b13725e70a3d94e9b39 1.txt
  9. # 文件发送端
  10. [centos@localhost tomcat]$ ll
  11. total 12156
  12. drwxr-xr-x. 9 centos centos 220 Dec 2 22:01 apache-tomcat-10.0.14
  13. -rw-rw-r--. 1 centos centos 12445602 Dec 2 14:17 apache-tomcat-10.0.14.zip
  14. [centos@localhost tomcat]$ nc localhost 12345 < apache-tomcat-10.0.14.zip
  15. # 检查md5值
  16. [centos@localhost tomcat]$ md5sum apache-tomcat-10.0.14.zip
  17. 99d91eb05e076b13725e70a3d94e9b39 apache-tomcat-10.0.14.zip

2.2 反向传输

  1. # 服务端先启动
  2. [centos@localhost temp]$ nc -l 12345 < 1.txt
  3. # 客户端
  4. [centos@localhost tomcat]$ nc localhost 12345 > 1.zip
  5. ^C
  6. [centos@localhost tomcat]$ ll
  7. total 24312
  8. -rw-rw-r--. 1 centos centos 12445602 Jan 26 20:59 1.zip
  9. drwxr-xr-x. 9 centos centos 220 Dec 2 22:01 apache-tomcat-10.0.14
  10. -rw-rw-r--. 1 centos centos 12445602 Dec 2 14:17 apache-tomcat-10.0.14.zip
  11. [centos@localhost tomcat]$ md5sum 1.zip
  12. 99d91eb05e076b13725e70a3d94e9b39 1.zip
  13. # 客户端传输完成不会自动退出, 需要ctrl + c 手动退出

3. 传输目录

  1. # 传输文件需要借助压缩处理,本文采用tar
  2. # 服务端
  3. [centos@localhost temp]$ nc -l 12345 | tar xvf -
  4. apache-tomcat-10.0.14/
  5. apache-tomcat-10.0.14/bin/
  6. apache-tomcat-10.0.14/bin/bootstrap.jar
  7. apache-tomcat-10.0.14/bin/catalina-tasks.xml
  8. 。。。。。。。。
  9. apache-tomcat-10.0.14/CONTRIBUTING.md
  10. apache-tomcat-10.0.14/LICENSE
  11. apache-tomcat-10.0.14/NOTICE
  12. apache-tomcat-10.0.14/README.md
  13. apache-tomcat-10.0.14/RELEASE-NOTES
  14. apache-tomcat-10.0.14/RUNNING.txt
  15. [centos@localhost temp]$ ll -lrth
  16. total 12M
  17. drwxr-xr-x. 9 centos centos 220 Dec 2 22:01 apache-tomcat-10.0.14
  18. -rw-rw-r--. 1 centos centos 12M Jan 26 20:55 1.txt
  19. # 客户端
  20. [centos@localhost tomcat]$ tar cvf - apache-tomcat-10.0.14 | nc localhost 12345
  21. apache-tomcat-10.0.14/
  22. apache-tomcat-10.0.14/bin/
  23. apache-tomcat-10.0.14/bin/bootstrap.jar
  24. apache-tomcat-10.0.14/bin/catalina-tasks.xml
  25. apache-tomcat-10.0.14/bin/catalina.bat
  26. 。。。。。。。。
  27. apache-tomcat-10.0.14/work/Catalina/localhost/centos-repo/
  28. apache-tomcat-10.0.14/BUILDING.txt
  29. apache-tomcat-10.0.14/CONTRIBUTING.md
  30. apache-tomcat-10.0.14/LICENSE
  31. apache-tomcat-10.0.14/NOTICE
  32. apache-tomcat-10.0.14/README.md
  33. apache-tomcat-10.0.14/RELEASE-NOTES
  34. apache-tomcat-10.0.14/RUNNING.txt
  35. [centos@localhost tomcat]$

4. shell

4.1 正向shell

  1. # 服务端
  2. [centos@localhost tomcat]$ nc -l 12345 -e /bin/bash
  3. # 客户端
  4. [root@localhost ~]# nc localhost 12345
  5. ls
  6. 1.zip
  7. apache-tomcat-10.0.14
  8. apache-tomcat-10.0.14.zip
  9. pwd
  10. /home/centos/tomcat
  11. clear
  12. ls
  13. 1.zip
  14. apache-tomcat-10.0.14
  15. apache-tomcat-10.0.14.zip
  16. ll
  17. pwd
  18. /home/centos/tomcat
  19. clear
  20. # 客户端可以操作shell,但是没有提示符

5. 端口转发

  1. 本地端口12346 -> 12345
  2. # 服务端
  3. [root@localhost ~]# nc -l 12345
  4. 123
  5. 345
  6. 667
  7. # 转发端
  8. [centos@localhost apache-tomcat-10.0.14]$ nc --sh-exec "nc localhost 12345" -l 12346 --keep-open
  9. # 客户端
  10. [centos@localhost tomcat]$ nc localhost 12346
  11. 123
  12. 345
  13. 667

6. 代理模式

  1. # socks4代理
  2. nc --proxy socks4host --proxy-type socks4 --proxy-auth user smtphost 25
  3. # http代理
  4. nc -l --proxy-type http localhost 8888

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/102525
推荐阅读
相关标签
  

闽ICP备14008679号