社区
系统维护与使用区
帖子详情
Linux ping不通,但是抓包看收发ICMP正常
backstreetguang
2016-09-08 12:09:07
在Linux笔记本上,有有线和无线两张网卡,两张网卡单独使用时均可以上网。
当两张网卡同时使用时,有线网卡ping外网ping的通,无线ping不通。通过抓包分析,ICMP的request和response都有,而且SRC确实是无线网卡的IP。可ping命令就是没有响应。
奇怪的是,为什么ICMP的应答包都收到了,ping不通那?是ping程序的问题,还是哪里的配置问题?
...全文
2953
5
打赏
收藏
Linux ping不通,但是抓包看收发ICMP正常
在Linux笔记本上,有有线和无线两张网卡,两张网卡单独使用时均可以上网。 当两张网卡同时使用时,有线网卡ping外网ping的通,无线ping不通。通过抓包分析,ICMP的request和response都有,而且SRC确实是无线网卡的IP。可ping命令就是没有响应。 奇怪的是,为什么ICMP的应答包都收到了,ping不通那?是ping程序的问题,还是哪里的配置问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
backstreetguang
2016-09-12
打赏
举报
回复
问题已经解决了,我自己说一下原因,是路由反向检查打开了,导致的,想了解的自己去百度下吧
hijack00
2016-09-09
打赏
举报
回复
你ping的是baidu的域名还是IP?你试试都ping百度的IP试试,如果wlan0也能ping通说明之前wlan0那个网卡的dns服务器配置有问题。 你说的能够正常收到ICMP应答包并不能说明什么。你确信收到的是来自百度的应答包?或许只是本机或者网关发回的目标主机不可达的应答包。
backstreetguang
2016-09-08
打赏
举报
回复
补充一下,ping它自己的网关是ping的通的
Linuxwell
2016-09-08
打赏
举报
回复
好好学习天天向上111
backstreetguang
2016-09-08
打赏
举报
回复
路由表配置如上图。
用ping -I eth0和wlan0分别ping百度,一个ping的通一个ping不通。单独使用都可以ping通。ping不通时,抓ICMP包是抓得到包的。
是不是回来的响应送到另一张网卡上去了?
IP分片技术及其故障处理.pdf
摘要:因为IP不允许分片而导致报文丢弃的故障现象通常是:绝大部分网站和应用都可以正常使用,但个别网站打不开,某些应用(如
收发
邮件等)无法正常使用,通过
ping
命令测试到目的主机的连通性,能够正常收到
ICMP
的响应报文,证明网络层可达。这时候,在排除了目的网站及客户端故障的可能性后,就要考虑是不是IP分段引起的故障了,可以通过
抓包
工具和测试命令来判断、定位故障点。 关键词:IP分片原理; 故障分析; 修改; 值;
python 的 scapy库,实现网卡
收发
包的例子
问题: 测试时
收发
流采用TestCenter、SmartBit等仪表来进行。如果仍采用其进行自动化冒烟,则会带来效率低、成本高的问题。 解决方案: 采用网卡来
收发
流,虽然有性能统计上的缺陷,但可以验证一些基本功能,且经济。 采用scapy模块, 1-获取计算机网卡的iface,并预先设计好用哪些iface进行
收发
流; 2-conf.L2listen对各个iface进行监听 3-subprocess.Popen来调用tShark.exe启动
抓包
,也可以调用
ping
.exe构造
ping
包 4-sendp发送二层报文,send发送三层报文 5-sniff嗅探iface上的指定报文,可以有过滤条件
Linux
Ping
命令一直
抓包
,不停止问题解决
Linux
采用
ping
命令
抓包
的话会一直进行下去,中途不会停止。可以采用CTRL+c或CTRL+z方式退出 问题拓展: 可以设置选项方式,使得
ping
命令执行若干次包就终止。
ping
192.168.34.44 -c 4,此时
ping
命令将执行4次
Linux
ping
命令说明:
Linux
ping
命令
Linux
ping
命令用于检测主机。 执行
ping
指令会使用
ICMP
传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。 语法
ping
[-df
基于
LINUX
实现
ping
发送与接收
由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全0或全1(具体看实现了,本质一样)如果结果不是全0或全1,那么表示数据错误。注意一下上面说到的
ICMP
报文格式中的“类型”字段,我们在组包的时候可以向该字段填写不同的值来标定该
ICMP
报文的类型。
Linux
ping
命令用于检测主机:执行
ping
会使用
ICMP
传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
ping
命令中
ICMP
协议包的分析
UDP
收发
以及所需要的ARP协议已经全部实现,接下来让咱们的协议栈支持
ping
,俗称能
ping
通。
ping
的请求和发送实际是
ICMP
协议的一个子集,
ICMP
可以参考
ICMP
数据包结构_Focus_新浪博客 在IP头中
ICMP
协议的标识是01,其
ICMP
头结构是用C语言表示为: //
ICMP
header typedef struct _tagX_
icmp
hdr { unsigned char i_type; //类型 unsigned char i_code; //代码 uns
系统维护与使用区
19,612
社区成员
74,603
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章