RawCap抓包工具也不是万能的

作者:V君 发布于:2016-4-5 11:09 Tuesday 分类:填坑经验

TL;DR: 官方网站已经明确, 在XP之后的Windows上有以下限制, 看来只能用作回环抓包了.

Raw sockets limitations (OS dependent)

(略过两项)

External interfaces

Microsoft's newer operating systems (later than WinXP) have limitations associated with raw socket sniffing of external interfaces, i.e. everything that isn't localhost. Known limitations in Windows Vista and Win7 are:

  • Windows 7 - Can't capture incoming packets
  • Windows Vista - Can't capture outgoing packets

Due to these limitations in the raw sockets implementations of Microsoft's current operating systems we suggest running RawCap on Windows XP if you need to capture from external interfaces.


不扯不快:

说到抓包, 大家可能第一个想到的就是WireShark. 

然而这货想抓回环包要稍稍蛋疼的配置一下才能抓, 并且略庞大.

配置页面就提到可以用RawCap轻松抓取.

 

这次环境是2003, 想抓某个服务应用程序的包做故障诊断. 

WireShark提示系统版本太低不支持, 然而老版本安装包似乎不工作...

用RawCap在上面跑, 抓完打包回传, 发现只有接收的包, 没有发送的包.

然后回来看看官网, 果然是有限制的.


看来还是要老老实实修改现有程序加上收发数据日志.

我讨厌维护陈旧的各种编码不规范且自作聪明的项目

不能因为他们那时候因对基础类库不熟悉就原谅

标签: 软件故障诊断 抓包

评论(0) 引用(0) 浏览(1277)

TCPView未能完全统计网络活动-难道Sysinternals的工具不靠谱?

作者:V君 发布于:2016-4-1 21:26 Friday 分类:填坑经验

因为Sysinternals工具套装一直给我在软件故障诊断这类问题上带来优越的体验, 

我对它的信任也逐步提升甚至达到脑残粉级别.


最近, 我用其中的TCPView诊断服务器运行情况时

发现只显示连接发起, 没有显示这个连接的发送/接收的数据包或字节.

 

于是坚信咱们的服务程序有问题, 只是连接到对方而已, 并没有吐出数据.

 

由于这是很复杂的老项目, 出问题也一下子不知道是什么地方, 

只好放一边, 联系以前负责这个项目的人, 预约个时间来一起排查.

 

动摇: 等人来的这段时间中一次偶然的在自己的本子上跑起TCPView, 

发现只有系统进程才有收发数据统计,

别的绝大多数应用进程和在服务器遇到的情况一样 -- 有连接,但显示空的收发数据包和字节数.

唯独cFosSpeed的进程是有活动的, 可能是把别的进程流量集中到一起来调整优先级.

 

结果: 约到之前负责项目的人来一起解决问题, 他在另一端启动一个Socket调试工具.

启动监听 -- 发现确实有数据过来.


好吧, 我知错了. 可能复杂的服务器环境有类似cFos一样的东西来管理流量.


并不是说TCPView不靠谱, 而是显示的是系统层面真实的连接活动情况.

只不过这些连接活动可能受到个别软件影响.导致显示出的结果和实际有差别.

遇到这个问题的人不只是我, Sysinternals官方论坛也有人提到这个现象.


标签: 软件故障诊断 TCP Sysinternals 抓包

评论(0) 引用(0) 浏览(822)

使用SOCKET需谨慎,莫让TCP Keep-Alive把你流量耗光

作者:V君 发布于:2016-1-25 18:13 Monday 分类:挖坑经验

点击查看原图

今天收到报告

说终端设备跑流量超标很厉害

因为不是咱的代码(将来就是了吧)

问了些情况 --

    应用层面日志很正常

    原始数据也不多

    (虽然仅记录从设备发来的)

怀疑是不是服务器抽风

一个劲的下发数据

于是直接上去抓包了

抓了一个小时, 打包传回


 \\我一看// (葛炮音


哎哟我的玛雅 按这个间隔

一个月能跑掉30M流量


对SOCKET/TCP/IP了解不多 不知道这是不是正常现象 不过从流量上来看绝对不正常


咕狗 && 问万能的麻衣阿姨    再回来看代码       

点击查看原图

嗯嗯 这下啪啪打脸, 走GSM无线的你拿来拔网线 (´∀((☆ミつ

点击查看原图

这下应该好了吧 (竖起拇指+牙齿闪光 

 

次日更:

不要觉得这样就大丈夫了, 还有问题 -- 连接数用完

又抓了一个小时, 发现大概每隔50秒会重新连接

点击查看原图

看来还是要开Keep-Alive, 设置到40秒吧, 每个月需要消耗2~3M流量

点击查看原图

继续观察...最后决定设置为45秒, 之后终于不浪费流量了.

标签: 软件开发 C# SOCKET TCP 抓包

评论(0) 引用(0) 浏览(913)

Powered by emlog 去你妹的备案 sitemap