pdftotext 與 split

pdftotext是一個簡單的很多linux發行版都自帶的小工具,可以把pdf轉換成txt文本。它沒有使用ORC,所以只能轉換文本的pdf。可以通過設置起始坐標和截取的高度寬度來避開pdf文檔中的header和頁碼,命令如下:

pdftotext -x 50 -y 100 -H 550 -W 400 -nopgbrk -eol unix source.pdf

split是一個分割小工具,可以把大文件切成幾個小文件。下面這條命令將temp.txt分割成10KB一個的文件,並且不打斷原有的行(這個功能很好,我試過不用這個參數,結果漢字被硬生生分開到了兩個文件)。分割後的文件命名如temp_1.txt。

split -C 10KB -d temp.txt temp_

使用Fiddler抓取App Store的包

首先說明,如果想把App Store的https鏈接全都解密,那麼所用蘋果設備需要越獄,否則只能解密部分https鏈接。

Fiddler是一個非常好用的抓包工具,比Wireshark不知到簡單到哪裡去了,非常適合對網絡協議不熟悉的使用者。安裝完成後,打開Fiddler,右上角有個Online,鼠標放上去後會彈出網絡信息,最後一行便是本機的IP。在蘋果設備上的WiFi設定中配置proxy為運行Fiddler的IP,端口默認是8888。這樣所有的流量就顯示在Fiddler窗口中了。Fiddle的設置在Tools》Teleric Fiddler Options中。

如果要查看https流量,需要在代理端和蘋果設備各安裝一個證書。由於要對蘋果設備解密https,所以還需要安裝一個證書生成器插件CertMaker for iOS and Android,安裝完成後重啟Fiddler。在設置的HTTPS選項卡中勾選Decrypt HTTPS traffic,在右邊Actions里選擇Trust root centificate,然後根據提示就完成了在代理端根證書安裝。用蘋果設備訪問http://你的代理IP:8888,最下面有一個FiddlerRoot centificate的鏈接,點擊後根據提示就完成了蘋果設備的證書安裝。此時你打開Safari訪問https的網站,就能看到解密的數據了。

但是此時如果切換apple id帳號,或者在app store下載軟件都會失敗,原因是apple的這些軟件運用了CertPinning技術。大意就是apple的這些軟件只接受自己的證書,其他證書一概不信任。這時就只有越獄的手機有辦法了,那就是使用SSL Kill Switch 2。由於手頭沒有越獄手機,如果有機會完成測試就再補充。


幾天后的進一步測試並沒有取得成功。使用的是iOS9.3.1的iPhone,使用盤古進行的越獄。此次越獄版本似乎不是很完善,表現在當我要裝一個命令行軟件的時候雖然安裝成功但是無法啟動,還有就是每次重啟都會失去越獄。按照Cydia的說明通過ssh可以順利進入iPhone,然後按照SSL Kill Switch 2的說明完成了安裝,但是Setting里並沒有出現啟用的開關。後來還嘗試修改wifi的mac地址,無論是nvram還是ifconfig都失敗了,可能是由於蘋果對系統的加強吧。

使用tcpdump來抓包

一般的HTTP請求,用Fiddler就OK了,不過遇到一個應用,它的請求時在打開了VPN後才連接的,於是祭出古器tcpdump。在cydia里搜索tcpdump安裝即可使用。獲取端口信息的ifconfig命令可在Cydia搜索Network Commands按裝之。

#-i指定端口,-w指定保存文件,-s設為0保存所有數據
tcpdump -i ppp0 -w trace.pcap -s 0
#端口不指定的話,wifi默認為en0,移動網絡是pdp_ip0,跟host可過濾域名或IP
tcpdump -w trace.pcap -s 0 host www.ip138.com
#過濾ip和請求類型
ip.addr eq 115.182.201.7 and http

PHP Development Tools——Eclipse

之前用NetBeans寫PHP倒也沒什麼問題,最近看到PSR-2的代碼編寫規範,覺得很好,但是NetBeans好像沒有找到設置的地方。搜了下PHP Development Tools (PDT)直接支持PSR-2。Sublime Text 2的編碼主題比較舒服,PDT也是有的,Sublime Text 2 theme for PDT下載。推薦下載EPF格式,然後在eclipse中File/Import/General/Preferences導入即可。爲了遵循PSR的代碼書寫規範,還需在Window/Preferences中進行如下設置:

  1. PHP/Code Style/Formatter/Active profile設置爲PSR-2。
  2. General/Workspace/New text file line delimiter設置爲Other:Unix。
  3. General/Editors/Text Editors勾選Show line margin,值設爲80。

安卓電話錄音軟件Automatic Call Recorder

Automatic Call Recorder

以前用HTC安卓2.3的時候找過電話錄音軟件,基本都是錄的外放的聲音,聽筒的人聲極小。而這款Automatic Call Recorder是有很多錄音線路可供選擇的,前面的都失敗後纔會選擇揚聲器模式。我在Sony Z上全部默認設置,錄下的聲音有電流聲干擾,但人聲還挺清晰,已經能作爲一個普通的電話錄音軟件來使用。有空再事實其他音源。

DiskUsage

DiskUsageDiskUsage是一款免费且开源的分析磁盤用量的安卓軟件,可以迅速發現大文件及佔用磁盤最多的軟件,非常實用!之前手機提示內存超過75%,建議將資料轉移至儲存卡。我找了找,發現DCIM下有個隱藏的縮略圖文件夾,裏面放着從買手機後照過的所有圖片的縮略圖,有1個多G。然後通過DiskUsage發現google plus有七八百兆的緩存,firefox也有很大緩存,把他們一清理空間就回來了。

nano文本編輯器

nano是一個方便易用的命令行文本編輯器,相對於vi等文本編輯器勝在學習成本低廉而且linux平臺基本自帶(甚至android的busybox都有)。用nano常用的命令就是Ctrl+O寫入文件,Ctrl+X關閉文件,Ctrl+W查找文字。其他功能也很容易找到幫助,很適合不經常用linux的用戶(vi不常用的話,命令真的忘的好快)。

nano的複製粘貼也是很方便的。常用的就是CRTL+6用來選擇,ALT+6用來複製,CTRL+U用來粘貼。複製當前行的話直接ALT+6即可。

如果想把nano設置為默認的文本編輯器,比如使用crontab -e時,可以在~/.bashrc最後添加

export EDITOR=nano
export VISUAL=nano

如果要在多個文件間複製粘貼,可以用nano -F file1以多文件模式打開。打開之後,複製完按CTRL+R開啟另一個文件,就可以粘貼進去了。文件間的切換用ALT+,和ALT+.。

jEdit的基本配置

首先安装插件,推荐的有BufferTabs(文件标签页)和LookAndFeel(外观样式)。然后设置一下偏好,比如我会设置代码折叠(默认居然是关闭的!),在设置-编辑中-折叠模式中选indent就可以了。还有默认边距好短,可以改长些,以及缩进改为4个空格等。

默认的编辑界面也不好看,Molokai的配色就高端很多。在jEdit上找到选中项,选RGB标签,填入颜色代码即可。

项目 配色
文字 F8F8F2
背景 272822
单选背景 49483E
多选背景 383830
当前行 383830
注释 68715E
函数 66D9EF
关键字 27A453
E6DB74
标记语言 A6E22E
操作符 F92672
数字 AE81FF