先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
简介
nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具。进行TCP、UDP的连接和监听,可以将标准错误分离。
参数
This is nc from the netcat-openbsd package. An alternative nc is available
in the netcat-traditional package.
usage: nc [-46bCDdhjklnrStUuvZz] [-I length] [-i interval] [-O length]
[-P proxy_username] [-p source_port] [-q seconds] [-s source]
[-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]
[-x proxy_address[:port]] [destination] [port]Command Summary:
-4 Use IPv4
-6 Use IPv6
-b Allow broadcast
-C Send CRLF as line-ending
-D Enable the debug socket option
-d Detach from stdin
-h This help text
-I length TCP receive buffer length
-i secs Delay interval for lines sent, ports scanned
-j Use jumbo frame
-k Keep inbound sockets open for multiple connects
-l Listen mode, for inbound connects
-n Suppress name/port resolutions
-O length TCP send buffer length
-P proxyuser Username for proxy authentication
-p port Specify local port for remote connects
-q secs quit after EOF on stdin and delay of secs
-r Randomize remote ports
-S Enable the TCP MD5 signature option
-s addr Local source address
-T toskeyword Set IP Type of Service
-t Answer TELNET negotiation
-U Use UNIX domain socket
-u UDP mode
-V rtable Specify alternate routing table
-v Verbose
-w secs Timeout for connects and final net reads
-X proto Proxy protocol: “4”, “5” (SOCKS) or “connect”
-x addr[:port] Specify proxy address and port
-Z DCCP mode
-z Zero-I/O mode [used for scanning]
Port numbers can be individual or ranges: lo-hi [inclusive]
nc的作用
简单的TCP代理
基于shell脚本的HTTP客户端或服务器
网络守护进程/程序测试
文件传输
反弹shell(非本意)
参数详解
nc参数
参数 | 解释 |
---|---|
-4 | 强制nc仅使用IPv4地址 |
-6 | 强制nc仅使用IPv6地址 |
-b | 允许广播 |
-C | 发送CRLF作为行结束符 |
-D | 在套接字上启动测试 |
-d | 不要试图从标准输入读入数据 |
-h | 打印nc帮助 |
-l length | 指定TCP接收缓冲区大小 |
-i interval | 指定发送和接收的文本行之间的延迟时间间隔。还会导致连接到多个端口之间的延迟时间。 |
-k | 强制nc在当前连接完成后继续侦听另一个连接。在没有-l选项的情况下使用此选项是错误的。 |
-l | 用于指定nc应侦听传入连接,而不是启动到远程主机的连接。将此选项与-p、-s或-z选项结合使用是错误的。此外,使用-w选项指定的任何超时都将被忽略。 |
-n | 不要在任何指定的地址、主机名或端口上执行任何DNS或服务查找。 |
-O length | 指定TCP发送缓冲区大小 |
-P proxy_username | 指定要呈现给需要身份验证的代理服务器的用户名。如果未指定用户名,则不会尝试身份验证。目前仅支持HTTP CONNECT代理的代理身份验证。 |
-p source_port | 根据权限限制和可用性,指定nc应使用的源端口。支持nn-mm范围模式和空格分隔。 |
-q seconds | 在stdin上执行EOF后,等待指定的秒数,然后退出。如果秒数为负,则永远等待。 |
-r | 指定应随机选择源端口和/或目标端口,而不是在某个范围内或按照系统分配的顺序顺序进行选择。 |
-S | 启用RFC 2385 TCP MD5签名选项。 |
-s source_ip | 指定用于发送数据包的接口的IP。对于UNIX域数据报套接字,指定要创建和使用的本地临时套接字文件,以便可以接收数据报。将此选项与-l选项结合使用是错误的。 |
-U | 指定使用UNIX域套接字。 |
-u | 使用UDP而不是TCP的默认选项。对于UNIX域套接字,请使用数据报套接字而不是流套接字。如果使用UNIX域套接字,则在/tmp中创建临时接收套接字,除非给出-s标志。 |
-V rtable | 设置要使用的路由表。默认值为0。 |
-v | 让nc提供更详细的输出。 |
-w timeout | 无法建立或在超时秒后处于空闲状态的连接。-w标志对-l选项没有影响,即nc将永久侦听连接,无论是否使用-w标志。默认值为无超时。 |
-X proxy_protocol | 请求nc在与代理服务器对话时应使用指定的协议。支持的协议有“4”(SOCKS v.4)、“5”(SOCKS v.5)和“connect”(HTTPS代理)。如果未指定协议,则使用SOCKS版本5。 |
-x proxy_address[:port] | 请求nc应使用代理地址和端口处的代理连接到目标。如果未指定端口,则使用代理协议的已知端口(1080用于SOCKS,3128用于HTTPS)。 |
-Z | DCCP模式。 |
-z | 指定nc应该只扫描侦听守护进程,而不向它们发送任何数据。将此选项与-l选项结合使用是错误的。 |
使用举例
客户/服务器模式
服务器端:监听端口
nc -l 6633
客户端:开启连接
nc 127.0.0.1 6633
客户端
服务器端
这是同一台服务器,使用了tmux,开了frankyu和yubo,两个session。客户端和服务端就建立了Tcp连接,进行通信。
注意:当我们关闭客户端时,服务端也会关闭,可以添加-k选项,使服务端不关闭。
文件传输
对上面的客户/服务器模式进行扩展即可。使用linux的重定向。
服务器端:
nc -l 6633 > filename.out
客户端:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!