netcat 或者 nc 是 Linux 下的一个用于调试和检查网络工具包的工具。可用于创建 TCP/IP 连接。netcat被称为网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,可以在脚本中以多种方式使用它。 你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。
端口扫描 :
扫描20-25端口号,-w2表示延时2秒 ,127.0.0.1表示待扫描机器的ip地址
nc -v -z -w2 127.0.0.1 20-25
nc: connect to 127.0.0.1 port 20 (tcp) failed: Connection refused
nc: connect to 127.0.0.1 port 21 (tcp) failed: Connection refused
Connection to 127.0.0.1 22 port [tcp/ssh] succeeded!
nc: connect to 127.0.0.1 port 23 (tcp) failed: Connection refused
nc: connect to 127.0.0.1 port 24 (tcp) failed: Connection refused
nc: connect to 127.0.0.1 port 25 (tcp) failed: Connection refused
从192.168.2.33拷贝文件到192.168.2.34
1234为端口号
在192.168.2.34上: nc -l 1234 > test.txt
在192.168.2.33上: nc 192.168.2.34 1234 < test.txt
简单聊天工具
1234为端口号
在192.168.2.34上: nc -l 1234
在192.168.2.33上: nc 192.168.2.34 1234
这样,双方就可以相互交流了。使用ctrl+C(或D)退出。
应用举例:
1. 侦听指定端口
server:
$ nc -l 99991 然后你可以使用客户端模式来连接到 9999 端口:
client: 1$ nc localhost 999 |
现在如果你输入一些文本,它将被发送到服务器端
2. 使用 netcat 来传输文件
假设我们本地有一个 local文件,内容为:hello ranger
而在服务器端有一个空文件名为 server
然后我们使用如下命令来启用服务器端:
server:
$ nc -l 9999 > server |
client:
cat local | nc localhost 9999
|
然后你停止服务器端,你可以查看 server 的内容就是刚才客户端传过来的 local 文件的内容:
hello ranger
3. netcat 支持超时控制
多数情况我们不希望连接一直保持,那么我们可以使用 -w 参数来指定连接的空闲超时时间,该参数紧接一个数值,代表秒数,如果连接超过指定时间则连接会被终止。
server:
nc -l 9999 |
client:
$ nc -w 10 localhost 9999 |
该连接将在 10 秒后中断。
注意: 不要在服务器端同时使用 -w 和 -l 参数,因为 -w 参数将在服务器端无效果。
Netcat
Netcat或者叫nc,这是一个自称是网络中的瑞士军刀般的工具。它很简单但也非常强大和灵活,允许你创建任意的网络连接。这里我们来看看如何把它作为一个端口扫描器:
1
2
3
|
$ nc –z example.com 20-100
Connection to example.com 22 port [tcp /ssh ] succeeded!
Connection to example.com 80 port [tcp /ssh ] succeeded!
|
除了能够创建任意的连接,Netcat还能够监听传入的连接。这里我们利用nc的这个功能再配合tar来快速有效的在服务器之间拷贝文件。在服务器端,运行:
1
|
$ nc –l 9090 | tar –xzf –
|
在客户端运行:
1
|
$ tar –czf dir / | nc server 9090
|
我们可以使用Netcat把任何应用通过网络暴露出来,这里我们通过8080端口将shell暴露出来:
1
2
|
$ mkfifo backpipe
$ nc –l 8080 0<backpipe | /bin/bash > backpipe
|
现在我们可以通过任意一台客户机来访问服务器了:Linode
1
2
3
|
$ nc example.com 8080
uname –a
Linux li228-162 2.6.39.1-linode34 ##1 SMP Tue Jun 21 10:29:24 EDT 2011 i686 GNU/Linux
|
尽管后面这两个例子有些投机取巧的成分(现实中你应该使用类似rsync这样的工具来拷贝文件,用SSH来远程登录服务器),它们还是展示出了Netcat的强大和灵活,通过结合netcat和其它的应用你可以实现很多不同的事情。
相关推荐
v可得到更详细的内容 -w secs timeout的时间 -z 将输入输出关掉——用于扫描时 其中端口号可以指定一个或者用lo-hi式的指定范围。 例如:扫描端口 tcp扫描 C:\nc>nc -v -z -w2 192.168.0.80 1-140 net [192.168.0.80...
1、 了解NC的用法 命令: nc –h 技巧: win98用户可以在autoexec.bat加入path=nc的路径,win2000用户在环境变量中加入path中,linux含有这个命令(redhat) 1、基本使用 想要连接到某处: nc [-options] ...
Netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包。可用于创建 TCP/IP 连接,大的用途是用来处理 TCP/UDP 套接字。 这里我们将通过一些实例来学习 netcat 命令。 1、在服务器-客户端架构上使用 ...
测试udp端口连通性,可以支持windows32或者64,里面有txt,有使用方法,需要的小伙伴可以来下载
工具名:Netcat 作者:Hobbit && Chris Wysopal 类别:开放源码 平台:Linux/BSD/Unix/Windows WINDOWS下版本号:[v1.10 NT] 参数介绍: *nc.exe -h*即可看到各参数的使用方法。 基本格式:nc [-options] ...
工具名:Netcat 作者:Hobbit && Chris Wysopal 类别:开放源码 平台:Linux/BSD/Unix/Windows WINDOWS下版本号:[v1.10 NT] 参数介绍: *nc.exe -h*即可看到各参数的使用方法。 基本格式:nc [-options] hostname ...
nc的全称为NetCat,它能够建立并接受传输控制协议(TCP)和用户数据报协议(UDP)的连接,Netcat可在这些连接上读写数据,直到连接关闭为止。它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互。从技术上来讲...
nc的全称为NetCat,它能够建立并接受传输控制协议(TCP)和用户数据报协议(UDP)的连接,Netcat可在这些连接上读写数据,直到连接关闭为止。它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互。从技术上来讲...
netcat-httpd 基于nc和纯 shell 脚本的 httpd 服务器 特征 GET 和bash运行 shell-cgi GET 和cat一个静态文件 在OS X 10.9.5 Mavericks下部分测试 概要 ./server.sh [--mapping path_to_mapping_file] [--debug] [-...
其中端口号可以指定一个或者用lo-hi式的指定范围。 例如:扫描端口 tcp扫描 C:\nc>nc -v -z -w2 192.168.0.80 1-140 net [192.168.0.80] 140 (?) net [192.168.0.80] 139 (netbios-ssn) open ...
netcat #nc ngrep #ngrep (Network grep). Nmap #nmap Screen #screen tcpdump #tcpdump 11.iFile是一款文件管理工具. 12.MobileTerminal(注意没有空格)是开源的IOS版Terminal,注意:4以上系统都需要的是520-1版的...
mpvc, mpc的控制接口 mpvcmpc的控制接口。此外,除了gnu风格参数之外,mpvc还有一个几乎完全兼容的mpc兼容层。检查mpc的详细信息。 依赖项mpvsocat 或者 nc,socat 首选,因为跨unix的netcat实现不同。
用SwiftNIO实现的Netty例子 看过SwiftNIO文档的朋友想必都见过这样的一句话: ... netcat进行测试: $ nc localhost 8080 之后的任何输入应该都不会有回复,或者在server的日志中会打印一遍。 回声 实现了ECHO
NC(Netcat) 用于提交数据包 DOS界面下运行: NC -vv www.***.com 80<1.txt -vv: 回显 80: www端口 1.txt: 就是你要发送的数据包 (更多使用方法请查看本区的帖子) WSE(WSockExpert) 对本机...