免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11937 | 回复: 11
打印 上一主题 下一主题

tcpdump为什么抓不到eth0的tcp包? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-05 14:28 |只看该作者 |倒序浏览
是这样的,大家都知道,ubuntu拨号上网时会有两个连接,一个是eth0,一个是ppp0,最近用tcpdump抓包的时候,发现ppp0抓包没什么问题,但是eth0为什么抓不到tcp包,而且研究发现貌似eth0只能抓到广播包,百思不得其解,google了很多eth0和ppp0的区别,不是驴唇不对马嘴,就是前言不搭后语,一片混乱,搞不懂。有没有人能帮我解答一下为什么不能使用eth0嗅探局域网内的数据包?ppp0却可以,那么eth0和ppp0到底有什么区别?好像是PPP0依赖eth0,那么他们的拓扑结构大概是怎么样的??非常感谢大家了!!

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
2 [报告]
发表于 2010-06-05 19:24 |只看该作者
抓包命令我看一下

论坛徽章:
0
3 [报告]
发表于 2010-06-05 22:43 |只看该作者
回复 2# ssffzz1

图片左边为ifconfig打印的信息,我使用的是无线网,所以ppp0没显示出来,右边为抓包命令,使用方法为sudo tcpdump -i eth0,ppp0大开eth0的抓包信息仍然是这样。
求解?

论坛徽章:
0
4 [报告]
发表于 2010-06-06 00:54 |只看该作者
本帖最后由 silty 于 2010-06-06 01:02 编辑

1、从三楼描述,PPPOE拨号应该是通过无线网卡,并且有线网卡eth0没有配置IP。所以,除非开启eth0前端交换机的端口监控,否则只能抓取二层以及三层的广播多播包
2、ppp0与eth0的关系(假设ppp0链路数据通过eth0转发):ppp0是虚拟的逻辑连接,但数据还是要通过物理网卡eth0转发。所以若同时抓取ppp0和eth0的数据包,则相应数据包是可以对应起来的,区别就是eth0抓取的包加上了PPPOE以及ppp头部。详细参考PPPOE协议
3、GUI下还是建议使用图形界面的抓包工具,如wireshark, tcpdump看的眼花
4、楼主无线网卡支持混杂模式?

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
5 [报告]
发表于 2010-06-06 09:10 |只看该作者
是这样的。你抓取到的包可能是PPPOE的包。你放到wireshark里应该可以解码的。

论坛徽章:
0
6 [报告]
发表于 2010-06-06 11:53 |只看该作者
本帖最后由 止觞 于 2010-06-06 12:05 编辑

回复 4# silty
很感谢Silty的讲解,但是仍然存在疑惑。
1.PPPOE怎么会通过无线网卡呢?我尝试过,ppp0和wlan0可以共存,每个都有一个IP,当两个共存时,网络将优先使用ppp0,舍弃wlan0,我觉得ppp0确实是通过eth0出去的。但是我不懂pppoe协议,所以为了防止这个,我将wlan关掉,只使用ppp(如下图)。“除非开启eth0前端交换机的端口监控,否则只能抓取二层以及三层的广播多播包”,怎么样开启eth0前端交换机的端口监控?


2.您说 ppp0与eth0的包是可以对应起来的,但是我同时开启了两个wireshark进程,ppp0和eth0同时抓包(几乎是同时),发现ppp0的包远少于eth0(如下图)。难道是说,eth0为ppp做了很多底层的工作,类似“探路”?还有,eth0可以抓到很多UDP包但是抓不到TCP,话说UDP和TCP是同一层的为何会出现这种情况呢?



3.我的无线网卡是否支持混杂模式我也不清楚,因为是几个人用的一个无线路由器也不好测试。
非常希望得到Silty的讲解。{:3_193:} 提前感谢一下!

论坛徽章:
0
7 [报告]
发表于 2010-06-06 12:04 |只看该作者
回复 5# ssffzz1
仍然有很多不明白的问题,能否详细讲解一下?详细问题列表见上楼。谢谢!

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
8 [报告]
发表于 2010-06-06 14:27 |只看该作者
你要理解PPPOE的封装过程。

PPP的包是封装在以太口通过ETH0出去的,你在ETH0肯定可以抓到PPP的包。而你说的那些UDP还是TCP是包含在PPP包里面的。

同时有很多PPPOE自身需要的包,大部分维护用的,你通过ppp肯定是抓不到的。但是ETH0是可以的。

理解了PPPOE的封装过程这个不难理解。

论坛徽章:
0
9 [报告]
发表于 2010-06-06 23:15 |只看该作者
回复 8# ssffzz1
谢谢你的讲解,我大概明白了。
其实是这样的,最近在做一个项目,需要更改网卡驱动,驱动正常改好之后能够将数据包劫持到自定义的一块内存区域,这样一来,TCP/IP协议栈就无法正常使用,因此当加载此驱动时,我是无法通过PPPOE拨号上网的,也就只有eth0和lo,但是我又想在局域网内运行snort来进行入侵检测,需要对eth0开启混杂模式抓包,不过,我目前观察到的好像是如果不能用PPPOE拨号上网,就无法嗅探局域网内的所有包。
请问,您有没有什么好的建议能够帮助我解决这个问题?苦恼了很久了,感谢。

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
10 [报告]
发表于 2010-06-07 10:34 |只看该作者
无。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP