1、SINFOR TECHNOLOGIES CO.,LTD.Page1Tcpdump培训培训SINFOR TECHNOLOGIES CO.,LTD.Page2Tcpdump培训提纲培训提纲1、tcpdump简介简介2、tcpdump命令格式及常用参数介绍命令格式及常用参数介绍3、实例分析、实例分析4、各产品、各产品tcpdump使用方法使用方法SINFOR TECHNOLOGIES CO.,LTD.Page31、tcpdump简介简介1.1、定义:、定义:tcpdump是linux系统下强大的数据包分析工具,通过将网口设置为混杂模式来截取经过网口的每一个分组进行分析,(作用类似windows 平台
2、下windump、sniffer、ethereal等抓包工具)。SINFOR TECHNOLOGIES CO.,LTD.Page41、tcpdump简介简介1.2、应用环境:、应用环境:Tcpdump是linux下数据包分析工具,我们一般用于判断数据是否经过设备,内网是否有arp欺骗,分析数据走向,分析tcp连接建立状态,分析端口映射数据走向及分析应用层协议等内容。SINFOR TECHNOLOGIES CO.,LTD.Page52、tcpdump命令格式及常用参数介绍命令格式及常用参数介绍2.1、tcpdump命令格式2.2、tcpdump常用参数2.3、tcpdump表达式2.4、tcpd
3、ump输出SINFOR TECHNOLOGIES CO.,LTD.Page62.1、tcpdump命令格式tcpdump -adeflnNOpqStvx -c 数量 -F 文件名 -i 网络接口 -r 文件名 -s naplen -T 类型 -w 文件名 表达式 Tcpdump+参数+表达式SINFOR TECHNOLOGIES CO.,LTD.Page72.2、tcpdump常用参数-i 指定监听的网络接口;-e 在输出行打印出数据链路层的头部信息;-c 截取指定数目的数据包;-n 不把网络地址转换成名字;-nn 不把端口和网络地址转换成名称;-x 将截取的数据包内容以十六进制打印出来;-X
4、 将截取的数据包内容以ASCII文本形式打印出来;-s 截取指定大小的数据包,s0表示完整数据包;-w 将抓包内容保存到指定到文件,并不打印出来;-a 将网络地址和广播地址转变成名字;-t 在输出的每一行不打印时间戳;-v 输出一个稍微详细的信息,如在ip包中包括ttl和服务类型的信息;-vv 输出详细的报文信息;-F 从指定的文件中读取表达式,忽略其它的表达式;-r 从指定的文件中读取包(这些包一般通过-w选项产生);SINFOR TECHNOLOGIES CO.,LTD.Page82.2、tcpdump常用参数(续)-i 指定监听的网络接口指定监听的网络接口在wan1口监听192.200.
5、200.108的数据包,如果AC以网桥模式部署,可以指定br0接口:tcpdump i br0SINFOR TECHNOLOGIES CO.,LTD.Page9-e 在输出行打印出数据链路层的头部信息在输出行打印出数据链路层的头部信息2.2、tcpdump常用参数(续)数据链路层头部信息,源mac和目的macSINFOR TECHNOLOGIES CO.,LTD.Page10-c 截取指定数目的数据包截取指定数目的数据包2.2、tcpdump常用参数(续)如上图所示,在wan1口截取5个数据包SINFOR TECHNOLOGIES CO.,LTD.Page11-n 不把网络地址转换成名字不把网
6、络地址转换成名字2.2、tcpdump常用参数(续)SINFOR TECHNOLOGIES CO.,LTD.Page12-nn 不进行端口和网络名称转换不进行端口和网络名称转换2.2、tcpdump常用参数(续)SINFOR TECHNOLOGIES CO.,LTD.Page13-x 将截取的数据包内容以十六进制打印出来将截取的数据包内容以十六进制打印出来2.2、tcpdump常用参数(续)以十六进制显示数据包内容SINFOR TECHNOLOGIES CO.,LTD.Page142.2、tcpdump常用参数(续)-X 将截取的数据包内容以将截取的数据包内容以ASCII文本形式打印出来文本形
7、式打印出来SINFOR TECHNOLOGIES CO.,LTD.Page152.2、tcpdump常用参数(续)-s 截取指定大小的数据包。截取指定大小的数据包。截取数据包缺省大小为96bytes,为了分析数据包内容,可以通过-s参数改变截取数据包大小,s0为完整数据包。SINFOR TECHNOLOGIES CO.,LTD.Page162.2、tcpdump常用参数(续)-w 将抓包内容保存到指定到文件将抓包内容保存到指定到文件可以将抓包文件输出为pcap文件,然后取下来用ethereal等抓包软件打开分析SINFOR TECHNOLOGIES CO.,LTD.Page172.3、tcpd
8、ump表达式 tcpdump利用表达式作为报文的过滤条件,表达式有如下三种类型关键字和逻辑运算符组成:2.3.1、关于类型的关键字,主要包括host,net,port,例如 host 210.27.48.2。如果没有指定类型,缺省的类型是host。如上图,在lan口截取含有主机202.96.137.75的数据包。SINFOR TECHNOLOGIES CO.,LTD.Page182.3.2、传输方向的关键字,主要包括src,dst,dst or src,dst and src,这些关键字指明传输方向,缺省是src or dst关键字。如上图所示,在lan口截取发往目的主机为202.96.137
9、.75的数据包。SINFOR TECHNOLOGIES CO.,LTD.Page192.3.3、协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp icmp,802.1Q等,缺省监听所有协议的数据包。如上图所示在lan口截取arp广播数据包SINFOR TECHNOLOGIES CO.,LTD.Page202.3.4、逻辑运算主要有三种逻辑运算符取非运算是 not !,与运算是and,&;或运算 是or,|。如图所示,在lan口截取含有主机地址为192.200.200.108的icmp包。SINFOR TECHNOLOGIES CO.,LTD.Page212.4、tcpdu
10、mp基本输出时间戳源和目标mac源IP,源端口和目标IP和端口以十六进制和ASCII的形式打印出数据包内容Tcpdump可以截取的数据包输出到*.pcap文件,用抓包工具进行分析,详见2.2SINFOR TECHNOLOGIES CO.,LTD.Page223、实例分析、实例分析3.1、tcpdump分析分析tcp连接建立与终止连接建立与终止3.2、tcpdump分析分析ftp工作模式(工作模式(port&pass)3.3、tcpdump分析端口映射分析端口映射3.4、tcpdump分析分析arp欺骗欺骗 3.5、tcpdump分析其它协议(分析其它协议(udp,icmp及及802.1Q)SI
11、NFOR TECHNOLOGIES CO.,LTD.Page233.1、tcpdump分析分析tcp连接建立与终止连接建立与终止3.1.1、Tcpdump六个标志位标志缩写描述SFRPACKURG.SYNFINRSTPSHACKURG同步包发送方完成数据发送复位连接尽可能快地将数据送往接收进程应答syn包紧急标志S、F、R、P均置1时显示通过标志能够反应tcpdump连接状态SINFOR TECHNOLOGIES CO.,LTD.Page243.1.2、tcp连接的建立与终止上图为正常建立tcp连接三次握手过程,仅包含tcp报文首部,10:16:13.943837为时间戳;192.200.20
12、0.108.3698 202.96.137.75.80为源IP,目标IP,源端口和目标端口;S 2561469441:2561469441(0)说明该包为同步包;win 65535发送方通告的窗口大小;mss 1460发送端指明的最大报文段长度;(DF)不需要分片。Tcp连接建立三次握手过程Tcp连接建立连接建立SINFOR TECHNOLOGIES CO.,LTD.Page253.1.2、tcp连接的建立与终止(续)如上图,从电脑上telnet主机202.96.137.75 9999这个没有开放的端口,由于服务器没有开放此服务,返回RST包复位连接,三次握手不成功,tcp连接建立不起来。Tc
13、p连接建立连接建立SINFOR TECHNOLOGIES CO.,LTD.Page263.1.2、tcp连接的建立与终止(续)终止一个tcp连接需要四次握手,因tcp连接是全双工的,需要在每个方向单独关闭。Tcp连接终止连接终止SINFOR TECHNOLOGIES CO.,LTD.Page273.2、tcpdump分析分析ftp工作模式(工作模式(port&pasv)3.2.1、主动 ftp3.2.2、被动 ftpSINFOR TECHNOLOGIES CO.,LTD.Page283.2.1、主动、主动 ftp 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送交互
14、命令(PORT命令)。随后ftp server会以自己的tcp 20端口主动和客户端建立连接,传送数据。SINFOR TECHNOLOGIES CO.,LTD.Page293.2.1、主动、主动 ftp(续)(续)SINFOR TECHNOLOGIES CO.,LTD.Page303.2.2、被动、被动 ftp 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送PASV 命令,随后 FTP server打开一个位于1024和65535之间的随机端口,然后FTP server 将通过这个端口进行数据的传送。SINFOR TECHNOLOGIES CO.,LTD.Page
15、313.2.2、被动、被动 ftp(续续)SINFOR TECHNOLOGIES CO.,LTD.Page323.3、tcpdump分析端口映射分析端口映射(特殊端口映射特殊端口映射)3.3.1、未做snat,只做dnat情况3.3.2、同时做snat及dnat情况SINFOR TECHNOLOGIES CO.,LTD.Page333.3.1、未做snat,只做dnat情况SINFOR TECHNOLOGIES CO.,LTD.Page343.2.1、未做snat,只做dnat情况(续)在client的eth0口dump包,如下:SINFOR TECHNOLOGIES CO.,LTD.Page
16、353.3.1、未做snat,只做dnat情况(续)在AC lan口dump包,如下:SINFOR TECHNOLOGIES CO.,LTD.Page363.3.1、未做snat,只做dnat情况(续)在Server上dump包,如下:SINFOR TECHNOLOGIES CO.,LTD.Page373.3.2、同时做snat及dnat情况SINFOR TECHNOLOGIES CO.,LTD.Page383.3.2、同时做snat及dnat情况(续)在client的eth0口dump包,如下:SINFOR TECHNOLOGIES CO.,LTD.Page393.3.2、同时做snat及d
17、nat情况(续)在AC lan口dump包,如下:SINFOR TECHNOLOGIES CO.,LTD.Page403.3.2、同时做snat及dnat情况(续)在Server上dump包,如下:SINFOR TECHNOLOGIES CO.,LTD.Page413.4、tcpdump分析分析arp欺骗欺骗如上图所示,arp类型数据包输出,arp请求及应应答SINFOR TECHNOLOGIES CO.,LTD.Page423.4、tcpdump分析分析arp欺骗(续)欺骗(续)如上图所示,一台电脑不停向局域网发arp广播包,此电脑可能中了arp病毒。如果一台电脑因中arp病毒上不了网,可以
18、从设备dump数据包,对比电脑发过来的数据的mac和电脑的真实mac,如果不一样,则tcpdump打印出的mac为中arp病毒的电脑。SINFOR TECHNOLOGIES CO.,LTD.Page433.5、tcpdump分析其它协议(分析其它协议(udp,icmp及及802.1Q)UDP输出,从左到右依次是时间戳,源IP、源端口,目标IP和目标端口,len和DFUDP协议协议SINFOR TECHNOLOGIES CO.,LTD.Page443.5、tcpdump分析其它协议(续)分析其它协议(续)ICMP协议协议如上图是发往主机202.96.137.75的icmp包(ping包),AC网
19、桥部署时可以同时从lan口和wan口ping网桥IP判断设备是否接反线。SINFOR TECHNOLOGIES CO.,LTD.Page453.5、tcpdump分析其它协议(续)分析其它协议(续)802.1Q如上图所示,tcpdump截取vlan数据时,需要加“vlan”,如tcpdump vlan,通过此命令可以判断经过设备的数据是否被vlan封装。SINFOR TECHNOLOGIES CO.,LTD.Page464、各产品、各产品tcpdump使用方法使用方法全系列大硬件设备均支持pshell接入管理。AC、WANACC和SC中心端,默认开放pshell接入;其它大硬件(ssl 4.0以下)需要打上相应的文件才可以接入;Ssl 4.x的设备需要用update连进设备先执行sshftp后,才可以使用pshell,小硬件不支持pshell接入管理。SINFOR TECHNOLOGIES CO.,LTD.Page474、各产品、各产品tcpdump使用方法使用方法(续续)其它大硬件(ssl 4.0以下)pshell使用方法:a、将app1文件put到/stmp/appb、将appsh1文件put到/stmp/appsh1c、./stmp/appsh1d、执行sshftp即可SINFOR TECHNOLOGIES CO.,LTD.Page48谢谢 谢谢20090325