远程抓包
环境
远端系统为linux,一般使用tcpdump;
远端系统为windows,一般使用tshark(wireshark的命令行版本,包含在wireshark安装包中);
近端(分析端)为linux或者windows 一般使用wireshark作为分析器;
远程抓包最简单的就是本地抓包存储为文件,传到另一台电脑,不过这种实时性不佳;
下面几种方式为实时远程抓包,方便业务排障。
Linux环境
SSH抓包
将捕获数据直接输出到stdout/标准输出,管道给wireshark分析。
#系统linux 本地抓包工具tcpdump
#这种方式并没有把shell切到远端,而是使用ssh执行命令的功能(不分配tty),此时管道后面为本地的wireshark;如果ssh登录进远端,shell切换进远端,管道后将会是远端的命令。
#此时不能使用-t开启交互,因为交互的数据也会发送给wireshark导致wireshark解析失败。
#root登录
ssh [email protected] "tcpdump -i eth0 -l -w -" | wireshark -k -i -
#非root登录执行命令,tcpdump抓包需要root权限,使用非交互模式输入密码,同时建议屏蔽错误输出避免干扰。
ssh [email protected] "echo 'password' | sudo -S tcpdump -i eth0 -l -w - 2>/dev/null" | wireshark -k -i -
网络转发
网络转发的基本原理就是把抓取的数据使用网络转发出去,常用工具为nc/ncat等,或者直接向/dev/tcp/[ip]/[port] 伪设备发送数据。
下面两种数据转发方式区别为:不同方向发起tcp会话,有防火墙或者NAT场景灵活选择。
TCP监听转发
#分析侧发起TCP会话
# -i 指定接口 -s 单包最大长度,为0代表默认的262144 -w - 代表std输出
# nc -l 监听 -p 端口
tcpdump -i eth0 -s0 -w - | ncat -l -p 9999
#本地从远程主机端口读取数据,管道给本地的wireshark
#wireshark -k 立即开始 -S 自动刷新 -i 接口 -i - 代表标准输入
ncat [remote ip] 9999 | wireshark -k -S -i -
TCP直接转发
#抓包侧发起TCP会话
#远端,抓包侧
tcpdump -i eth0 -s0 -w - > /dev/tcp/192.168.1.1/9999
#或使用nc转发
tcpdump -i eth0 -s0 -w - | ncat 192.168.1.1 9999
#近端,分析测,使用nc或者类似的工具均可
ncat -l -p 9999 | wireshark -k -i -
Windows环境
##远端为windows,命令和上面类似抓包工具换成Tshark##
#监听转发
tshark -i "本地连接* 1" -w - | ncat -l -p 9999
ncat 127.0.0.1 9999 | wireshark -k -S -i -
#直接转发
tshark -i USB-ETH1 -w - | ncat 127.0.0.1 9999
ncat -l -p 9999 | wireshark -k -S -i -
注意:操作系统环境下抓包要注意系统防火墙设置,尤其是监听转发方式。
网络设备
网络设备抓包一般使用SPAN/RSPAN/ERSPAN;SPAN(Switched Port Analyzer)是一种交换机的端口镜像技术,一般商用可管理的网络设备都支持,根据镜像口不同分为:
- SPAN:基于接口镜像,将镜像数据通过接口传输
- RSPAN:基于vlan镜像,将数据通过vlan传输
- ERSPAN:基于隧道镜像,将数据通过隧道(GRE)传输
SPAN技术只是将数据镜像后引流,不具备抓包存储和分析能力,需要使用其他设备或软件进行抓包分析,部分网络设备支持抓包功能,这里有一个示例。
下面使用H3C S6520X-EI演示SPAN技术:
#SPAN
#1 2两接口的双向数据镜像到3口,分析器在3口接收数据。
mirroring-group 1 local
mirroring-group 1 mirroring-port ten-gigabitethernet 1/0/1 ten-gigabitethernet 1/0/2 both
mirroring-group 1 monitor-port ten-gigabitethernet 1/0/3
interface ten-gigabitethernet 1/0/3
undo stp enable
#RSPAN
#1.
mirroring-group 1 remote-source
#ERSPAN
#将1口双向数据镜像到tunnel,分析器于远端1.1.1.1侧和2.2.2.2建立GRE隧道,镜像数据通过GRE隧道传输。
mirroring-group 1 local
mirroring-group 1 mirroring-port ten-gigabitethernet 1/0/1 both
mirroring-group 1 monitor-port ten-gigabitethernet 1/0/2 destination-ip 2.2.2.2 source-ip 1.1.1.1
#流镜像,流镜像其实就是上面三种镜像,不过使用过滤器仅保留关注的流量,减轻分析器的压力。
#镜像192.168.2.0/24访问互联网的WWW流量,以及192.168.2.0/24在工作时间发往192.168.1.0/24的IP流量。
time-range work 8:00 to 18:00 working-day
acl advanced 3000
rule permit tcp source 192.168.2.0 0.0.0.255 destination-port eq www
rule permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 time-range work
traffic classifier tech_c
if-match acl 3000
traffic behavior tech_b
mirror-to interface ten-gigabitethernet 1/0/3
#分析器在3接口接受数据,即SPAN模式
qos policy tech_p
classifier tech_c behavior tech_b
interface ten-gigabitethernet 1/0/4
#在连接网段的接口上配置
qos apply policy tech_p inbound
标签:192.168,几种,9999,转发,镜像,远程,抓包,wireshark
From: https://www.cnblogs.com/bfhyqy/p/18055713