Linux命令-nc(端口监控、文件传输、反弹shell等)_an alternative nc is available in the netcat-tradi(1)

本文分享了Linux学习资源,包括视频教程、电子书和PPT,强调了系统化学习的重要性,指出浅尝辄止的学习难以带来技术提升,并鼓励读者加入技术交流社区以共同进步。
摘要由CSDN通过智能技术生成

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

简介

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)。
-ZDCCP模式。
-z指定nc应该只扫描侦听守护进程,而不向它们发送任何数据。将此选项与-l选项结合使用是错误的。

使用举例

客户/服务器模式

服务器端:监听端口

nc -l 6633

客户端:开启连接

nc 127.0.0.1 6633

客户端

服务器端

这是同一台服务器,使用了tmux,开了frankyu和yubo,两个session。客户端和服务端就建立了Tcp连接,进行通信。

注意:当我们关闭客户端时,服务端也会关闭,可以添加-k选项,使服务端不关闭。

文件传输

对上面的客户/服务器模式进行扩展即可。使用linux的重定向。

服务器端:

nc -l 6633 > filename.out

客户端:

nc 127.0.0.1 6633 < filename.in

博主测试了,不截图了,留给读者自己动手测试。

基于TCP的上层协议

可以通过nc发送基于TCP的上层协议数据包,例如,应用层的HTTP协议

printf "GET / HTTP/1.0\r\n\r\n" | nc host.example.com 80

端口扫描

利用-z和-v参数,输出是否连接成功

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值