0%

阅读全文 »

接触网络编程的程序员或多或少会用到wireshark这个程序,除去前端GUI就是tshark,可以在命令行下执行。wireshark功能非常强大,常用于抓包(sniffing)和网络流量(network traffic)分析。为了方便程序员对network traffic进行更深层次的分析,pyshark应运而生:利用tshark分析network traffic,然后将输出的数据再包裹在自己定义的class中。如此一来,程序员只需要访问这些class生成的object就能获得network traffic内的信息,而不用去管tshark如何分析底层的二进制数据。

关于wireshark这一块,读者可以自行上网检索,本文主要是讲pyshark这个library的代码分析。事实上,python有很多优秀的网络分析library,并且大部分性能都优于pyshark。本文我们研究pyshark,主要想学习借鉴:如何制作一个python wrapper来调用一个命令行应用程序,并且给python提供友好的interface以便于high-level的程序开发。举一反三,我们就能wrap一切!

最近折腾HHKB键盘,缺少了方向键之后在terminal里移动光标不是很习惯,用fn组合键要移动手腕而且容易造成小拇指疲劳。所以这里记录下terminal的组合键光标移动小技巧以及助记方法。高频使用的会标明,请重点练习!

阅读提示

  • 仅在OSX下测试过,linux待验证。
  • 下面介绍的均不用额外配置。进阶玩家可以修改~/.inputrc来达到目的。
  • 如果能适应在普通命令行下也用vim mode的话,可以略过下文,直接在~/.zshrc中添加set -o vi进入vim模式!
  • 最后,花半小时练习这些快捷键可能会让你的工作效率变高,老板会在你身后偷笑。
阅读全文 »

一个python程序员的自我提升。

学习c++的目的:

  1. 更深刻了解计算机运行原理
  2. 拥抱丰富的c和c++库
  3. 了解python和c/c++对接
  4. 增强职场竞争力
阅读全文 »