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

tcpdump使用详解及评论摘要

阅读更多
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 截获数据并保存到文件中,然后再使用其他程序进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。
评论摘要:
1,
其实LZ 只说明了过滤语句的用法,没有将很重要另外一个参数说明,也就是说,如果这个参数不设置正确,会导致包数据的丢失!
它就是-s 参数,snaplen, 也就是数据包的截取长度,仔细看man就会明白的!默认截取长度为60个字节,但一般ethernet MTU都是1500字节。所以,要抓取大于60字节的包时,使用默认参数就会导致包数据丢失!
只要使用-s 0就可以按包长,截取数据!
2,
各位有兴趣,我可以多说一点。
LZ所说的这个格式有一个业界标准,称作bpf (Berkeley Packet Filter)包过滤语言。现在有很多抓包工具支持这个标准。包扩ethereal的capture filter, 注意不是displayfilter, 因为ethereal的display filter 使用了近似于C/C++表达式的另一套自己的表达方式。
其实,如果各位使用过libpcap的,就知道,所有的libpcap都需要 snaplen 这个参数设定才能抓到整个的包数据。那如果不熟悉C/C++怎么办?,没关系那也可以结合tcpdump -xls 0 命令行加管道导向到Awk的程序来自己解析IP数据包并分析应用层的数据。如果用tcpdump+Perl的话,更可以经过简单的包数据重构,方便地组成 NetPacket模块能自动识别的包数据,让现成的NetPacket模块自动解析和分析底层的IP和TCP/UDP层数据包。而你则只要懂得gawk /nawk或Perl就可以简单的自己编程来解析非标的应用层的数据了。注意,这里我并没有使用perl 的libpcap兼容模块,而是直接用tcpdump替代了。这样对Perl模块的要求降得比较低了,如果遇到非标的协议,就是不会C/C++, 没装抓包的perl模块,也可以通过自己编程来解析数剧包了!
3,
还好的是可以通过hex value来查包中的汉字。我是先在linux上边tcpdump出完整的package data,然后呢,将文件down到windows上来用ethereal来做查看的。
我不是很理解你所说的 '要么在服务器端装支持相应编码的代理,然后dump数据。
你说的编码的代理,我觉得这个与整个网页的charset是有关系的。可能是不同的charset,gb2312,unicode或是gbk之类的。很难理解你说的编码的代理是什么东东?
我想ethereal就是没有去分析每个包应该用什么来charset来做显示,所以都以ascii来显示了。所以汉字就显示不出来。
要想ethereal知道使用什么样的charset显示,那么就需要联系其他包里的charset设置来做显示,看来ethereal目前还没这么做,就只是简单的显示ascii
分享到:
评论

相关推荐

    命令与征服(C&C95)

    命令与征服1995,C&C95经典版本 游戏无法直接运行,打开“C&C”目录并执行Dosbox.exe即可。

    航空航天:MATLAB_实现高超声速飞行器热防护系统仿真.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 你是否渴望高效解决复杂的数学计算、数据分析难题?MATLAB 就是你的得力助手!作为一款强大的技术计算软件,MATLAB 集数值分析、矩阵运算、信号处理等多功能于一身,广泛应用于工程、科学研究等众多领域。 其简洁直观的编程环境,让代码编写如同行云流水。丰富的函数库和工具箱,为你节省大量时间和精力。无论是新手入门,还是资深专家,都能借助 MATLAB 挖掘数据背后的价值,创新科技成果。别再犹豫,拥抱 MATLAB,开启你的科技探索之旅!

    【Linux C++开发】基于Web多人聊天系统的C++项目实践:技术栈与部署流程详解

    内容概要:本文详细介绍了在Linux环境下进行C++开发所需掌握的内容,以一个Web多人聊天项目为例,涵盖从开发环境搭建到项目部署的全过程。首先推荐了一个项目地址,该项目支持HTTP请求、Websocket、多房间和多人聊天、MySQL用户信息存储、Redis缓存、json序列化等功能,并建议扩展功能如基于Reactor模型构建HTTP/Websocket服务、仿写MySQL/Redis连接池等。接着介绍了开发环境,包括Ubuntu 20.04、MySQL 8.0、Redis 6.0、gcc/g++ 10.5.0等,并提供了详细的部署步骤,如安装boost库、编译聊天室服务、配置MySQL和Redis等。最后分析了项目架构,包括数据存储(MySQL存储用户信息,Redis存储房间消息和用户cookie)、消息格式(HTTP请求消息和Websocket交互消息)、HTTP/Websocket数据处理流程等。; 适合人群:有一定Linux基础,想深入了解C++开发及网络编程的开发者,尤其是有志于从事Web开发或服务器端开发的技术人员。; 使用场景及目标:①掌握Linux C++开发环境的搭建,包括工具链的安装与配置;②理解并实践HTTP、Websocket等网络协议的应用;③熟悉MySQL、Redis等数据库的使用;④学习如何处理HTTP请求、Websocket交互消息及数据存储;⑤能够独立完成类似Web聊天室的项目开发。; 其他说明:本文不仅提供了理论指导,还给出了具体的实践操作步骤,如编译过程中可能遇到的问题及解决方案。对于初学者来说,可以按照文中提供的链接和教程逐步学习,同时鼓励读者根据自身需求对项目进行扩展和优化。

    通信工程劳务分包框架合同版.docx

    通信工程劳务分包框架合同版.docx

    png图片压缩工具基于nodejs的实现

    只需要将png图片或者包含png的文件夹拖拽到软件,即可实现批量压缩,方便有大量png图片需要压缩的需求

    红色警戒95版(RA95)

    游戏亲测无毒可用,可在Win10、Win11等系统直接运行(执行ra95.exe,无需虚拟机) #初代经典红警,#红警95,#RTS,#电脑游戏,#怀旧游戏

    银行间市场基于代理的网络模型中的交易对手流动性风险关系的MATLAB代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    数学建模基于Matlab的先进算法讲义:神经网络、遗传算法、模拟退火及模糊数学方法的应用与程序设计

    内容概要:本文档是一份来自中国科学技术大学的《Matlab先进算法讲义》,主要介绍了数学建模中常用的四种算法:神经网络算法、遗传算法、模拟退火算法和模糊数学方法。每种算法均以应用为导向,简要讲解其原理、结构、分类及其在数学建模中的具体应用实例。对于神经网络,重点介绍了感知器和BP网络,展示了如何通过训练网络来解决分类问题;遗传算法则模拟生物进化过程,用于求解优化问题;模拟退火算法借鉴了物理退火过程,适用于组合优化问题;模糊数学方法通过隶属度的概念处理模糊决策问题。文中还提供了部分算法的Matlab和C语言程序代码,帮助读者更好地理解和应用这些算法。 适合人群:具备一定数学建模基础、对Matlab有一定了解的高校学生及科研人员。 使用场景及目标:①学习神经网络、遗传算法、模拟退火算法和模糊数学方法的原理及其应用场景;②掌握如何利用这些算法解决实际问题,如分类、优化、决策等;③能够编写和调试相关算法的程序代码,应用于数学建模竞赛或科研项目中。 其他说明:本文档侧重于算法的应用而非深入理论探讨,旨在帮助读者快速入门并应用于实际问题解决。读者应结合提供的程序代码进行实践,以加深理解。

    配置过滤器链实现单点登录

    过滤器实现单点登录

    【火焰烟雾数据集】近1w张图片已标签,格式:类别+目标位置 黄金比例:70%训练集+15%验证集+15%测试集​​ ![目标检测火焰和烟雾](https://ofdweb.cn/y/fs008.png

    一、 数据集 1. 总计9280张火焰和烟雾图片,已打标签,格式:类别+目标矩形位置 类别:0 - fire;1 - smoke 位置:4个坐值 图片文件名与标签文件名一一对应,标签文件中多行表示图片中有多个检测目标,一行一个 2. 9280张属于中等规模数据集,黄金比例划分:70%训练集+15%验证集+15%测试集​​ ​​训练集​​:6496张(70% train) ​​验证集​​:1392张(15% val) ​​测试集​​:1392张(15% test) 平衡了模型训练需求与评估可靠性,避免小数据集划分导致的过拟合风险 火焰和烟雾的实例数量各1000多,基本持平,防止模型在训练过程中偏向于更频繁标注的类别 二、 目录结构 fire_smoke_images ├── data.yaml ├── images/ │ ├── train/ │ │ ├── 0001.jpg │ │ ├── 0002.jpg │ │ ├── 0003.jpg │ │ ... │ ├── val/ │ │ ├── 7001.jpg │ │ ... │ ├── test/ │ │ ├── 9001.jpg │ │ ... └── labels/ ├── train/ │ ├── 0001.txt │ ├── 0002.txt │ ├── 0003.txt │ ... └── val/ ├── 7001.txt ... 三、目标检测 演示:http://ofdweb.cn:28501/ ![目标检测火焰和烟雾](https://ofdweb.cn/y/fs008.png)

    智能医疗系统设计中的移动技术

    本书《智能医疗系统设计中的移动技术》旨在探讨如何利用移动技术,特别是无线网络技术,来设计和实现智能医疗保健系统。书中首先介绍了移动技术在医疗领域的应用背景、挑战以及本书的组织结构。随后,作者详细阐述了如何使用商品级WiFi进行非接触式活动识别,并设计了基于信道状态信息(CSI)的活动识别系统。此外,书中还探讨了如何利用现有的WiFi基础设施来设计个性化的健身助手系统,以及如何通过毫米波(mmWave)技术提升智能医疗系统的分辨率和准确性。书中还研究了饮食习惯监测系统的设计,以及如何将移动设备(如智能手机和智能手表)用于智能医疗保健,例如通过内置的光电容积描记法(PPG)传感器实现手势识别、手语解释和持续的用户认证。本书为智能医疗保健系统的研发提供了一套全面的分析和前沿的设计方案。

    基于LORA组网的远程环境监测系统设计(资料包)

    【文章/演示视频链接:https://archie.blog.csdn.net/article/details/147283872?spm=1001.2014.3001.5502】1.本系统有一个主机,两个从机。2.一主多从的LORA组网通信,主机和两个从机都配备了STM32F103单片机与 LoRa 模块,主机作为中心设备及WIFI网关,负责接收和发送数据到远程物联网平台和手机APP,两个从机则负责采集数据并通过各自的 LoRa组网将数据发送给主机。3.两个LORA从机,功能一样,组网分别实现对温度、湿度、粉尘PM2.5、PM10、CO2和NH3进行实时采集,并在OLED显示屏显示,系统采用锂电池供电。从机所用主要硬件:STM32F103C8T6最小系统板、多合一环境检测模组、0.96寸OLED显示屏、MQ-135传感器、正点原子LORA模块ATK-LORA-01、18650锂电池。4.主机LORA,组网实现接收两个从机采集过来的数据,通过主机WIFI模块网关将两个从机的数据远程传输到物联网云服务器和手机APP。主机所用主要硬件:STM32F103C8T6最小系统板、ESP8266模块、正点原子LORA模块ATK-LORA-01、18650锂电池。 资料包,包含本项目所有的程序源码和原理图 1.程序源码文件如下所示: “0.机智云MCU代码生成”是机智云平台生成的代码 “1.主机-未移入机智云”是没有移植机智云的代码(方便更改为你的机智云) “1.主机-移入机智云-此程序可接入机智云”是本项目的主机网关程序 “2.从机1-本地数据采集与显示”是本项目的从机1程序 “3.从机2-本地数据采集与显示”是本项目的从机2程序 【物联网】基于LORA组网的远程环境监测系统设计(资料包)

    世邦魏理仕:2023年中国房地产市场展望.pdf

    世邦魏理仕:2023年中国房地产市场展望

    第十一章:链表和共用体的个别例子

    第十一章:链表和共用体的个别例子,第十一章:链表和共用体的个别例子,第十一章:链表和共用体的个别例子

    移动通信端到端加密安全方案设计研究论文.docx

    移动通信端到端加密安全方案设计研究论文.docx

    typesripe截图脚本

    typesripe截图脚本 使用ts-node即可截取网页图片

    HTS RRM联合负载和容量调度Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    医院管理住院系统的研究与实现-基于JSP和SQL的软件工程实践【毕业论文+数据库+项目辅导视频+源代码】

    内容概要:本文详细阐述了医院管理住院系统的研究与实现,旨在通过信息技术手段提升医院管理效率和服务质量。系统采用SQL Server 2005作为数据库管理系统,使用MyEclipse的JSP技术进行开发,主要编程语言为Java。系统设计基于B/S架构和MVC设计模式,涵盖了六大功能模块:医生管理、病人管理、病床管理、收费管理、统计分析和系统管理。通过对系统的需求分析、可行性研究、总体设计、详细设计与实现、系统测试等环节的深入探讨,确保系统的安全性和有效性。系统实现了对医院内部信息的有效管理和快速检索,提高了医院的工作效率,减少了患者的等待时间和不必要的开支。 适合人群:适用于医院管理人员、医生、病人等相关人员,尤其是对医院信息化管理感兴趣的IT从业者和医疗行业工作者。 使用场景及目标:①医院管理人员可通过系统查看病床利用率、收费明细等情况,优化资源配置;②医生可查询病人信息,提高诊疗效率;③病人可以查看自己的治疗信息、费用明细等,增强就医体验。目标是提升医院整体管理效率和服务质量,建立现代化医院的良好形象。 其他说明:系统开发过程中充分考虑了经济、技术、操作等方面的可行性,确保了系统的实用性和可操作性。同时,通过详细的测试确保了系统的稳定性和安全性。此外,系统的可扩展性和模块化设计也为未来的功能扩展和维护提供了便利。

    麦肯锡房地产业务-利用空置空间开发混合的多功能空间.pdf

    麦肯锡房地产业务-利用空置空间开发混合的多功能空间

    汉翔手写板压缩1234

    汉翔手写板

Global site tag (gtag.js) - Google Analytics