`

TCPDUMP 使用(转)

阅读更多

第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.
第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。
第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定 的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和 分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。
  除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算 是'or' ,'││';这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。
  普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。
# tcpdump 
tcpdump: listening on fxp0
11:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 50
11:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=43
                       0000 0000 0080 0000 1007 cf08 0900 0000
                       0e80 0000 902b 4695 0980 8701 0014 0002
                       000f 0000 902b 4695 0008 00
11:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97
                       ffff 0060 0004 ffff ffff ffff ffff ffff
                       0452 ffff ffff 0000 e85b 6d85 4008 0002
                       0640 4d41 5354 4552 5f57 4542 0000 0000
                       0000 00
使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,
使用-c参数指定要监听的数据包数量,
使用-w参数指定将监听到的数据包写入文件中保存
 A想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:
#tcpdump host 210.27.48.1 
B想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用 括号时,一定要
#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 
C如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
D如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1
E 对本机的udp 123 端口进行监视 123 为ntp的服务端口
# tcpdump udp port 123 

F 系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据: 
#tcpdump -i eth0 src host hostname
G 下面的命令可以监视所有送到主机hostname的数据包: 
#tcpdump -i eth0 dst host hostname
H  我们还可以监视通过指定网关的数据包: 
#tcpdump -i eth0 gateway Gatewayname
I 如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令: 
#tcpdump -i eth0 host hostname and port 80
J 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包
,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
K 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令
:(在命令行中适用 括号时,一定要
#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
L 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
 #tcpdump ip host 210.27.48.1 and ! 210.27.48.2
M 如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
 #tcpdump tcp port 23 host 210.27.48.1
第三种是协议的关键字,主要包括fddi,ip ,arp,rarp,tcp,udp等类型
除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,
greater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算 是'o
r' ,'||';
第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,
如果我们只需要列出送到80端口的数据包,用dst port;如果我们只希望看到返回80端口的数据包,用src port。 
#tcpdump –i eth0 host hostname and dst port 80  目的端口是80
或者
#tcpdump –i eth0 host hostname and src port 80  源端口是80  一般是提供http的服务的主机
如果条件很多的话  要在条件之前加and 或 or 或 not
#tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst port 80
如果在ethernet 使用混杂模式 系统的日志将会记录
May  7 20:03:46 localhost kernel: eth0: Promiscuous mode enabled.
May  7 20:03:46 localhost kernel: device eth0 entered promiscuous mode
May  7 20:03:57 localhost kernel: device eth0 left promiscuous mode
tcpdump对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。显然这不利于分析网络故障,通常的解决办法是先使用带-w参数的tcpdump 截获数据并保存到文件中,然后再使用其他程序进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。
 

分享到:
评论

相关推荐

    tcpdump简介

    抓包神器,非常常用的抓包工具,生成pcap文件

    Linux tcpdump命令用法详解

    Linux tcpdump命令 Linux tcpdump命令用于倾倒网络传输数据。 执行tcpdump指令可列出经过指定网络界面的数据包文件头,在Linux操作系统中,你必须是系统管理员。 语法tcpdump [-adeflnNOpqStvx][-c][-dd][-ddd][-F]...

    5g-trace-visualizer:这组Python脚本可让您将pcap,pcapnp或pdml 5G协议跟踪(Wireshark,tcpdump等)转换为SVG序列图

    使用多个Wireshark版本进行解码 省略HTTP / 2标头 添加其他主机标签 添加时间戳 仅显示某些数据包 共享编辑的轨迹 概括 这组Python脚本可让您将pcap , pcapng或pdml 5G协议跟踪( Wireshark , tcpdump ,...)...

    一个专为android 开发者制作的tcpdump 抓包工具.zip

    跨平台开发工具如Xamarin、React Native和Flutter,让开发者使用一种语言或框架编写可以在多个操作系统上运行的应用程序。 文档编写与API管理: 文档生成工具可以自动生成代码注释文档,便于团队内外理解和使用...

    wireshark是非常好用的一个电脑端抓包工具,打开软件后会出现原版英文界面,当然你如果想要切换为中文也可以,可以实现英汉转换

    打开包含使用tcpdump / WinDump,Wireshark和许多其他数据包捕获程序捕获的数据包数据的文件。 转换中文的办法 进入软件主界面之后,点击“edit”。 选择下拉栏目中最后一个“Preference” “Language”选项默认是...

    logsta-services:可视地将tcpdump和auth.log snort日志记录到logtalgia

    Logsta服务这个Python驱动的脚本将通过TCPDump监视网络连接,并通过auth.log监视Snort日志。 它将秘密日志转换为Apache / Logstalgia接受的格式,并将其保存到单独的日志文件中。 然后,该文件将被重定向到...

    iphone fixpkt数据包转换工具

    iphone tcpdump抓包转换成Wireshark可读的文件.

    icmp_tunnel_ex_filtrate:博客文章随附的代码段

    通过ICMP隧道进行数据过滤 icmp_transmitter.exe是一个可执行文件,用于使用icmp ping数据包将一个系统上的文件发送到另一个系统。 该工具首先将文件(exe,图像,文档等)转换为... 运行tcpdump。 使用以下命令: sud

    Linux高性能服务器编程

    1.5.2 ARP高速缓存的查看和修改 1.5.3 使用tcpdump观察ARP通信过程 1.6 DNS工作原理 1.6.1 DNS查询和应答报文详解 1.6.2 Linux下访问DNS服务 1.6.3 使用tcpdump观察DNS通信过程 1.7 socket和TCPIP协议族的...

    sniftran:Fortinet数据包嗅探器转换器

    对于FortiAuthenticator,请使用:“ tcpdump -XXe -s0 -tt -ni ...” 使用--in参数运行sniftran,以指定带有数据包的文本文件 将创建具有相同名称和后缀“ .pcapng”的文件。 如果要为PCAPng使用

    apiary:从 http 转换

    要使用养蜂场,您可以使用自己喜欢的工具捕获生产流量,该工具会生成pcap文件( tcpdump , gulp等)。 接下来,您将 pcap 文件后处理为.jobs文件,该文件描述了每个模拟客户端将发出的请求序列以及它们的确切时间...

    redhat linux教材20课程学习文档

    18.11.5 tcpdump 18.11.6 whois 第十九章 系统优化和核心参数调整 19.1 系统性能与优化概述 19.2 性能监视与测试 19.3 系统优化的相关命令 19.3.1 uptime 19.3.2 free 19.3.3 top 19.3.4 vmstat 19.3.5 ps 19.4 ...

    doodles:各种脚本,位和鲍勃

    该脚本使您可以在Linux Wireshark实例上查看OpenBSD tun tcpdump文件。 似乎正在发生的事情是,OpenBSD的tcpdump产生DLT为0x0C,然后在每个数据包的前面粘贴一个四个字节的标头。 我们撤消这个:) pst2text 浏览...

    RED HAT LINUX 6大全

    本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...

    基于URL数据的用户行为分析-开题报告

    服务器通过tcpdump工具把采集到的数据保存为cap文件;通过python等语言对流量数据文件进行解析,选取关键信息如用户标识(MAC)、目的地址、URL等,进行数据格式转换,完成敏感数据脱敏,将脱敏后的数据写入数据库;...

    网络基础配置视频.rar

    1计算机拓扑结构mp4,网盘文件,永久链接 002计算机硬件介绍mp4 003服务器介绍mp4 004计算机网络设备mp4 005任务说明mp4 006网络设备连接介质mp4 007IP和MAC简介mp4 ...048 tcpdump工具抓包【了解】mp4

    tcpport_forwarder_dumper

    这是一个很小的Java程序,可帮助您在没有root特权(pcap,tcpdump,wireshark)的计算机上对HTTP,SOAP或RESTful Web服务进行故障排除。 它有两件事: 本地端口转发到远程主机和端口,例如本地端口8080到 ...转

    Python实现TCP探测目标服务路由轨迹的原理与方法详解

    在此次实践中,通过scapy的traceroute()方法实现探测机到目标服务器的路由轨迹,整个过程的原理见下图,首先通过探测机以SYN方式进行TCP服务扫描,同时启动tcpdump进行抓包,捕获扫描过程经过的所有路由点,再通过...

    TCP-IP详解卷一:协议

    18.2.5 正常的tcpdump输出 18.3 连接建立的超时 18.3.1 第一次超时时间 18.3.2 服务类型字段 18.4 最大报文段长度 18.5 TCP的半关闭 18.6 TCP的状态变迁图 18.6.1 2MSL等待状态 18.6.2 平静时间的概念 18.6...

    《TCP/IP详解,卷1:协议》

    作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。 本书适合作为计算机专业学生学习网络的教材和教师参考书。也...

Global site tag (gtag.js) - Google Analytics