1.今天由于需要抓包研究网络问题,所以研究了一下抓取指定ip、指定网卡、指定端口的包并且输入到文件中

2 tcpdump与Wireshark介绍

在网络问题的调试中,tcpdump应该说是一个必不可少的工具,和大部分linux下优秀工具一样,它的特点就是简单而强大。它是基于Unix系统的命令行式的数据包嗅探工具,可以抓取流动在网卡上的数据包。

默认情况下,tcpdump不会抓取本机内部通讯的报文。根据网络协议栈的规定,对于报文,即使是目的地是本机,也需要经过本机的网络协议层,所以本机通讯肯定是通过API进入了内核,并且完成了路由选择。【比如本机的TCP通信,也必须要socket通信的基本要素:src ip port dst ip port】

如果要使用tcpdump抓取其他主机MAC地址的数据包,必须开启网卡混杂模式,所谓混杂模式,用最简单的语言就是让网卡抓取任何经过它的数据包,不管这个数据包是不是发给它或者是它发出的。一般而言,Unix不会让普通用户设置混杂模式,因为这样可以看到别人的信息,比如telnet的用户名和密码,这样会引起一些安全上的问题,所以只有root用户可以开启混杂模式,开启混杂模式的命令是:ifconfig en0 promisc, en0是你要打开混杂模式的网卡。

Linux抓包原理:

Linux抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的说是网络设备)消息的处理权。当网卡接收到一个网络报文之后,它会遍历系统中所有已经注册的网络协议,例如以太网协议、x25协议处理模块来尝试进行报文的解析处理,这一点和一些文件系统的挂载相似,就是让系统中所有的已经注册的文件系统来进行尝试挂载,如果哪一个认为自己可以处理,那么就完成挂载。

当抓包模块把自己伪装成一个网络协议的时候,系统在收到报文的时候就会给这个伪协议一次机会,让它来对网卡收到的报文进行一次处理,此时该模块就会趁机对报文进行窥探,也就是把这个报文完完整整的复制一份,假装是自己接收到的报文,汇报给抓包模块。

Wireshark是一个网络协议检测工具,支持Windows平台、Unix平台、Mac平台,一般只在图形界面平台下使用Wireshark,如果是Linux的话,直接使用tcpdump了,因为一般而言Linux都自带的tcpdump,或者用tcpdump抓包以后用Wireshark打开分析。

在Mac平台下,Wireshark通过WinPcap进行抓包,封装的很好,使用起来很方便,可以很容易的制定抓包过滤器或者显示过滤器,具体简单使用下面会介绍。Wireshark是一个免费的工具,只要google一下就能很容易找到下载的地方。

所以,tcpdump是用来抓取数据非常方便,Wireshark则是用于分析抓取到的数据比较方便。

3 tcpdump使用

3.1 语法

类型的关键字

host(缺省类型): 指明一台主机,如:host 210.27.48.2

net: 指明一个网络地址,如:net 202.0.0.0

port: 指明端口号,如:port 23

确定方向的关键字

src: src 210.27.48.2, IP包源地址是210.27.48.2

dst: dst net 202.0.0.0, 目标网络地址是202.0.0.0

dst or src(缺省值)

dst and src

协议的关键字:缺省值是监听所有协议的信息包

fddi

ip

arp

rarp

tcp

udp

其他关键字

gateway

broadcast

less

greater

常用表达式:多条件时可以用括号,但是要用转义

非 : ! or “not” (去掉双引号)

且 : && or “and”

或 : || or “or”

例如我本次抓取指定ip、指定网卡、指定端口的包。语句如下:

tcpdump -i eth3 tcp port 5236 and host 172.16.24.13 -w dm.cap

tcpdump命令:

-i 指定网卡,本次指定eth3

port指定端口

host指定ip

-w dm.cap抓取到dm.cap文件中。

简单的tcpdump抓包使用总结:抓取指定ip、指定网卡、指定端口的包相关推荐

  1. 当网卡收到的包的目的地址是主机上另一个网卡的地址.arp总结

    2019/01/13 今天测试发现结果不符合预期呀,发现设置了arp_filter之后,仍然是能ping通主机上的另外一张网卡.但是现在的问题是 -------------------- 内核中是如何 ...

  2. 查看docker与宿主机网卡的对应关系,tcpdump在容器外网络抓包

    通过iflink找到网卡对应关系 1. 在宿主机上执行命令ip link $ ip link ...... 13: veth56ecf40@if12: <BROADCAST,MULTICAST, ...

  3. tcpdump抓包,Android抓包不用设置代理

    使用方法 平常我们抓包都是用fidder,charles这些软件进行抓包,但是使用这些软件抓包都需要设置代理,手机还好,但是对于电视,机顶盒等一些Android设备可能设置中没有这些选项怎么进行抓包呢 ...

  4. tcpdump抓两个网卡的包_如何抓取网络包?两个方法告诉你

    本文转载自[微信公众号:手机电脑双黑客,ID:heikestudio],经微信公众号授权转载,如需转载与原文作者联系 世界那么大,谢谢你来看我!!关注我你就是个网络.电脑.手机小达人 显形" ...

  5. ipv6抓包 tcpdump_网络抓包工具tcpdump图文教程

    tcpdump工具可以将网络中传送的数据包完全截获下来提供分析.还支持网络层.协议.主机或端口的过滤,并提供and/or/not等逻辑语句来去掉无用的信息.通过本文可以熟悉TcpDump工具,对网络数 ...

  6. linux抓网卡数据包命令,Linux抓包命令tcpdump命令图解

    原标题:Linux抓包命令tcpdump命令图解 tcpdump命令-->用来将网络中传送的数据包的"头"完全截获下来提供分析,常见的有Wireshark.在Linux中输入 ...

  7. linux 检测网络丢包率,网络问题解决思路,Linux 知识点,测试丢包率,抓包及分析...

    近期接触的项目涉及到语音传输,经常遇到信令传输的异常,或通话网络不稳定,需要抓包分析原因,故接触到这一块知识. ping 简单的连通测试 ping 45.32.79.140 -c1000 -s1024 ...

  8. linux 网络命令 dns,[LN_03] Linux网络环境查看(网卡|路由|DNS|IP)、网络测试命令(端口探测|路由跟踪|抓包|ssh连接)...

    一.Linux网络环境查看命令 1. 查看&临时配置网络状态命令 # 查看IP.MAC.Mask ifconfig # 临时设置指定网卡的网络配置 ifconfig eht0 192.168. ...

  9. http抓包实战 pdf_抓包实战 | 浏览器里的HTTP请求到底是如何完成的?

    来源丨木木匠 my.oschina.net/luozhou/blog/3003053 文中很多细节就是面试时关于"网络"这一块所常问的,还是得多积累一点 概   览 上一篇文章&l ...

最新文章

  1. selection does not contain a main type错误
  2. GBDT指标重要性计算
  3. python select模块安装_python+selenium select下拉选择框定位处理方法
  4. 从0系统学 Android--1.1认识 Android
  5. 闲话WPF之十(Dependency属性 [2] )
  6. python的userlist_Python Collections.UserList用法及代码示例
  7. abovedisplayskip无效_latex公式图片行间距段间距调整心得 -
  8. C++sort函数使用总结
  9. TextBox只输入数字和event.keyCode的键码值
  10. 开源贡献 计算_现在贡献开源的3个理由
  11. swift中的let和var有什么区别?
  12. 计算机病案管理系统,TWQ病案管理软件
  13. 使用dnsmasq让本地hosts泛解析
  14. android studio 融云,融云 SDK 是否支持 AndroidX
  15. kernel打印模块驱动加载时间
  16. vivado查看原理图
  17. zstuACM 问题 H: 超级跳跳跳1281
  18. 苹果iPhone14系列在国内供应链厂商有哪些?
  19. 书籍推荐-游戏程序员的学习之路
  20. java破解WIFI

热门文章

  1. 基于卷积神经网络(CNN)的图像识别 之 火焰识别
  2. 实验内容:编写程序,模拟抓狐狸小游戏。假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了。如果洞口里没有狐狸就第二天再来抓,但是第二天狐狸会在
  3. 【SoC FPGA】外设PIO按键点灯
  4. 一键轻松设置项目代理
  5. 2022-09-17青少年软件编程(C语言)等级考试试卷(四级)解析
  6. zkSnark教程:从方程到验证
  7. 多元回归函数regress的用法
  8. 3.ICMP_抓包分析traceroute路由追踪
  9. 2022“杭电杯”中国大学生算法设计超级联赛(2)1003.Copy
  10. 《脑机接口导论》学习笔记 3.记录大脑的信号和刺激大脑