`
haoningabc
  • 浏览: 1482834 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tcpdump

阅读更多
tcpdump src host 192.168.76.1 and dist host 192.168.76.129
会监控reply和request




转载http://blog.csdn.net/hzhxxx/archive/2010/08/17/5818552.aspx


tcpdump tcp port 22 and host 192.168.1.116

tcpdump是Linux下自带的网络分析工具。可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
 
tcpdump主要选项类型 host, net, port
方向 src, dst, src or   dst, src and dst
协议 ip, tcp, udp,   arp, rarp, ether, fddi
逻辑 and, or, not 或者 &&, ||, !
选项 -i指定网卡, -n显示ip, -A文本显示
-c抓包数, -x/-xx/-X/-XX二进制显示, -r读, -w写

 
类型
host指定主机或目的地址。
net制定网络地址。net可以用来指定子网。
port指定监听端口。
如果要制定多种类型,用逻辑运算符号连接。
tcpdump net 192.168.1。监听子网192.168.1.0
tcpdump net 192.168.1.0/24
tcpdump host 192.168.1.124 and port 80。监听指定主机的80端口。
 
方向
src指定源地址,dst指定目的地址。
监听来自192.168.1.10 或 192.168.1.11的80端口:
tcpdump port 80 and \(src 192.168.1.10 or src 192.168.1.11\)
 
协议
用来捕获特定协议的数据包有:ether(ethernet), tcp, udp, icmp, ip, ip6(ipv6), arp, rarp(reverse arp)等。
 
逻辑
tcpdump port 80 and \(host 192.168.1.10 or host 192.168.1.11\)。监听主机192.168.1.10 或 192.168.1.11的80端口。
使用()一定要用\转义。
获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包:
tcpdump ip host 210.27.48.1 and ! 210.27.48.2
 
选项
-i:指定网卡。
-n:显示ip,而不是主机名。
-c:指定抓多少个包后退出。
-A:以ASCII方式显示包内容,这个选项对文本格式的协议包非常有用。
-s:指定抓包显示一行的宽度,-s0表示显示完整的包,经常和-A一起用。
-x/-xx/-X/-XX:以十六进制显示包内容,几个选项只有细微的差别,详见man手册。
-vv:详细信息。
-r:从文件中读取。
-w:导出到指定文件。
监听来自172.25.38.145到端口7012的数据,并到处到指定文件:
tcpdump tcp dst port 7012 and src host 172.25.38.145 -vv –w output.dat
从指定文件加载监听数据:
tcpdump -r output.dat
监听网卡eth1端口7012的数据:
tcpdump tcp port 7012 -ieth1 –n
 
用tcpdump解析tcp连接建立和释放
下面命令抓包:
# tcpdump tcp port 7012 and host 172.25.34.88 -ieth1 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
 
1.          14:44:52.174122 IP 172.25.38.145.49563 > 172.25.34.88.7012: S 1986599379:1986599379(0) win 5840 <mss 1460,sackOK,timestamp 3824018401 0,nop,wscale 2>
2.          14:44:52.174249 IP 172.25.34.88.7012 > 172.25.38.145.49563: S 4294961892:4294961892(0) ack 1986599380 win 5792 <mss 1460,sackOK,timestamp 1927787323 3824018401,nop,wscale 2>
3.          14:44:52.174228 IP 172.25.38.145.49563 > 172.25.34.88.7012: . ack 1 win 1460 <nop,nop,timestamp 3824018401 1927787323>
4.          14:44:52.174433 IP 172.25.38.145.49563 > 172.25.34.88.7012: P 1:109(108) ack 1 win 1460 <nop,nop,timestamp 3824018401 1927787323>
5.          14:44:52.174443 IP 172.25.34.88.7012 > 172.25.38.145.49563: . ack 109 win 1448 <nop,nop,timestamp 1927787323 3824018401>
6.          14:44:52.186891 IP 172.25.34.88.7012 > 172.25.38.145.49563: P 1:857(856) ack 109 win 1448 <nop,nop,timestamp 1927787326 3824018401>
7.          14:44:52.186914 IP 172.25.34.88.7012 > 172.25.38.145.49563: F 857:857(0) ack 109 win 1448 <nop,nop,timestamp 1927787326 3824018401>
8.          14:44:52.187054 IP 172.25.38.145.49563 > 172.25.34.88.7012: . ack 857 win 1888 <nop,nop,timestamp 3824018404 1927787326>
9.          14:44:52.195347 IP 172.25.38.145.49563 > 172.25.34.88.7012: F 109:109(0) ack 858 win 1888 <nop,nop,timestamp 3824018406 1927787326>
10.       14:44:52.195355 IP 172.25.34.88.7012 > 172.25.38.145.49563: . ack 110 win 1448 <nop,nop,timestamp 1927787328 3824018406>
 
每一行中间都有这个包所携带的标志:
S=SYN,发起连接标志。
P=PUSH,传送数据标志。
F=FIN,关闭连接标志。
ack    表示确认包。
RST=RESET,异常关闭连接。
. 表示没有任何标志。
 
上面抓包的过程解析:
第1行:14:44:52这个时间,从172.25.38.145(client)的临时端口49563向172.25.34.88(server)的7012监听端口发起连接,client初始包序号为1986599379,滑动窗口大小为5840字节(滑动窗口即tcp接收缓冲区的大小,用于tcp拥塞控制),mss大小为1460(即可接收的最大包长度,通常为MTU减40字节,IP头和TCP头各20字节)。
第2行:server响应连接,同时带上第一个包的ack信息,为client端的初始包序号加1,即1986599380,即server端下次等待接受这个包序号的包,用于tcp字节流的顺序控制。Server端的初始包序号为4294961892,mss也是1460。
第3行:client再次确认,tcp连接三次握手完成。
第4行:client发请求包,包长度108字节。
第5行:server响应ack。
第6行:server回包,包长度856字节。
第7行:client响应ack。
第8行:client发起关闭连接请求。
第9行:server响应ack,并且也发送FIN标志关闭。
第10行:客户端响应ack,关闭连接的四次握手完成。

用这个抓包,把接口eth0上的80端口服务的所有报文都抓下来,并写入文件a.txt,写
入的a.txt文件可以被windows 下的 wireshark.exe 工具读取,便于在windows 下
分析
tcpdump -ieth0  -XAvs0 -w a.txt port 80
分享到:
评论

相关推荐

    tcpdump离线.rar

    tcpdump是一款广泛使用的网络数据包分析工具,它允许系统管理员或网络工程师实时捕获和分析网络上的数据包。这个“tcpdump离线.rar”压缩包包含两个RPM(Red Hat Package Manager)格式的软件包:libpcap-1.5.3-12....

    tcpdump-tcpdump-4.9.2.zip

    tcpdump是一款广泛使用的开源网络数据包分析工具,用于捕获和分析网络上的数据包。它在IT领域中扮演着至关重要的角色,特别是在网络诊断、安全审计和协议开发中。tcpdump-4.9.2是该软件的一个版本,此版本可能包含了...

    tcpdump 源代码安装包

    tcpdump是一款广泛使用的网络数据包分析工具,它允许系统管理员或网络工程师实时捕获网络上的数据包,并进行分析。在Linux或类Unix操作系统上,tcpdump是标准的网络诊断工具,能够帮助用户深入理解网络流量,查找...

    tcpdump安装、依赖包

    tcpdump是一款广泛使用的网络数据包分析工具,它允许系统管理员或网络工程师实时捕获网络上的数据包,并进行分析。在Linux或Unix系统中,tcpdump是标准的网络诊断和故障排查工具,它可以帮助我们理解网络流量模式,...

    tcpdump高级过滤技巧

    tcpdump是一款功能强大的网络数据包捕获工具,广泛应用于网络监控、故障排查和安全审计等领域。本文档将深入探讨tcpdump的高级过滤技巧,通过具体的示例帮助读者掌握如何精确地筛选网络流量,以满足复杂场景下的数据...

    tcpdump(windows版).zip

    tcpdump是一款广泛使用的网络数据包分析工具,主要用于捕获、记录和分析网络上的数据包。在Linux和Unix系统中,它是标准的网络诊断工具之一,而在这个案例中,我们讨论的是tcpdump的Windows版本。这个压缩包...

    OpenWrt 上运行的tcpdump

    在OpenWrt上运行tcpdump是一项基础而重要的网络诊断任务,tcpdump是一个强大的网络分析工具,它可以捕获网络上的数据包并提供详细的信息,帮助我们理解网络流量、检测问题或进行安全审计。以下是对OpenWrt环境安装和...

    tcpdump抓包工具离线安装包

    tcpdump是一款广泛使用的网络分析工具,它允许用户在操作系统层面捕获网络上的数据包,用于诊断网络问题、监控网络通信或者进行网络安全分析。这个离线安装包是为那些无法连接到互联网或者需要在隔离环境中安装...

    Tcpdump抓包工具免安装版v4.5.1

    Tcpdump 4.5.1版本,解压后是一个二进制可执行文件,不需要任何编译和安装,可以直接执行,上传Linux环境解压即可使用: root@admin:/tmp# ./tcpdump -help tcpdump version 4.5.1 libpcap version 1.5.3 Usage: ...

    Linux tcpdump命令详解.docx

    ### Linux tcpdump命令详解 #### 一、简介 tcpdump是一款功能强大的网络数据包抓取与分析工具,广泛应用于Linux系统中。它能够捕获网络中传输的数据包头部信息,并支持用户自定义过滤条件,从而筛选出需要关注的...

    tcpdump文件,tcpdump

    tcpdump是一款广泛使用的网络封包分析工具,主要在命令行环境下操作,允许用户实时监控和记录网络上的数据传输。这个工具对于网络管理员、系统管理员以及IT专业人士来说是必不可少的,因为它可以帮助他们诊断网络...

    tcpdump-4.9.3.tar.gz

    tcpdump是一款强大的网络数据包分析工具,主要用于在Linux操作系统中实时捕获、打印网络上的数据包。这个"tcpdump-4.9.3.tar.gz"压缩包包含了该工具的源代码,版本为4.9.3,适用于包括ARM架构在内的多种平台。下面将...

    arm路由系统下可用的tcpdump抓包工具

    支持在Tomato DualWAN 等系统下使用的tcpdump工具. chmod +x tcpdump 简单用法: a. 抓取所有与192.168.1.3通讯的数据包,并且显示在命令行下 /tmp/tcpdump -i br0 -f "host 192.168.1.3" -vv b. 抓取所有与192....

    Tcpdump 下载[二进制文件,直接执行,无需安装]

    Tcpdump 是一个强大的网络分析工具,它主要用于抓取和分析网络数据包。在TCP/IP四层模型(应用层、传输层、网络层、数据链路层)中,tcpdump主要在数据链路层工作,可以捕获到网络上的每一个数据包,这对于网络故障...

    Android设备上非root的抓包实现方法(Tcpdump方法)

    由于Android系统的安全机制,大多数应用程序没有root权限,因此不能直接使用tcpdump工具进行抓包。然而,通过一些特殊的技术手段,我们可以在非root的Android设备上实现抓包功能。 首先,理解tcpdump的运行需求。...

    tcpdump-3.4-5.i386.rpm

    所以,今天我们就来看看Linux中强大的网络数据采集分析工具——TcpDump。 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 作为互联网上...

    tcpdump-4.9.0.tar.gz

    tcpdump是一款广泛使用的网络数据包分析工具,它能够捕获并显示网络上的数据包内容,对网络监控、故障排查和安全分析具有重要作用。在Linux环境下,tcpdump是开发者和网络管理员常用的工具之一。tcpdump-4.9.0是该...

    夜神模拟器tcpdump抓包教程

    ### 夜神模拟器tcpdump抓包教程 #### 一、前言 随着移动互联网的发展,Android设备在我们的生活中扮演着越来越重要的角色。对于开发者来说,掌握如何在Android环境中进行网络调试是一项非常实用且必要的技能。本文...

    busybox/tcpdump/wireshark

    在IT领域,`busybox`、`tcpdump`和`wireshark`是三款非常重要的网络工具,它们各自在不同的场景下发挥着至关重要的作用。让我们深入了解一下这些工具及其功能。 首先,`busybox`是一款轻量级的Linux实用程序集合,...

Global site tag (gtag.js) - Google Analytics