tcpdump、nc网络工具使用
tcpdump: 网络嗅探器
nc:
nmap: 端口扫描
混杂模式(promisc)
C设置为监控,当A和B通信,C是无法探测到数据的,除非有交换机的权限,将全网端口的数据通信都发送副本到C的端口上。
此设置过程为镜像端口
tcpdump
-i: interface指定网卡
-w file
-nn: 将ip解析为数字,第二个n:将端口显示为数字
-X: hex and ASCII
-XX: 显示链路层首部信息
-A: ASCII
-v: 详细显示
-vv: 更详细显示
-r file: 读取文件进行解码
expression:
关键字:
type: host, net, port, portrange
direction: src, dst, src or dst, src and dst
protocol: ether, ip, arp, tcp, udp, wlan
组合条件:
and
or
not
目标端口tcp协议80:
tcpdump -i eth0 tcp dst port 80 [-nn] # 其中第一个n表示将ip以数字格式显示,第二个n表示将端口以数字格式显示
源、目标端口为80:
tcpdump -i eth0 tcp port 80 [-nn]
抓取与[源|目标]主机为172.16.100.6之间的通信:
tcpdump -i eth0 -nn [src|dst] host 172.16.100.6
抓取源和目标相同的报文:
tcpdump -i eth0 -nn src and dst host 172.16.100.6
组合条件:
抓取两台主机之间的通信:
tcpdump -i eth0 -nn host 172.16.100.6 and 172.16.100.77
更高的用法:
tcpdump -i eth0 -nn host 172.16.10.6 and \(172.16.200.73 or 172.16.100.77\)
还有tshark
还有
如果Linux安装有图形界面:
yum install wireshark-gnome -y
nc: 由nc提供
rpm -qf `which nc`
另一个实现:ncat,由nmap提供
nc可以用来两台服务器之间传输数据:
接收端:
nc -l 2233 > /tmp/test
监听在2233端口,并将收到的数据存放为/tmp/test文件
发送端:
nc 接收端IP port < /root/test
也可以自己监听,发送文件:
nc -l 2234 < /tmp/test
接收端:
nc 发送端IP port > /tmp/test
既可以使用输入重定向也可以使用输出重定向
文件传输方案:监听者为接收方
nc -l PORT > /path/to/somefile
nc IP PORT < /path/from/somefile
文件传输:监听者为传输方
nc -l PORT < /path/from/somefile
nc IP PORT > /path/to/somefile
-p PORT : 指明连接监听的服务器时使用的端口,如果不指明,则使用随机端口
-s 指定本地使用哪个ip访问
注意:
1、如果传输目录的话,需要先将目录归档或者压缩后再传输
2、如果此时不使用重定向的话,可以做为两端实时信息传递,只要不指定传文件就不会断开了
作为web客户端:
-v 扫描时详细格式输出
-w 等待时间
-z 1-1024 扫描端口
例如:nc -w 1 IP -z 1-1024 等待1s,扫描端口范围为1-1024
nmap命令使用说明。。。