分類
软件

使用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

本文更新於 2018/04/12。

分類
記事

2016台灣之旅

Day1:20161001 香港到台南

昨天晚上下載滴滴約早上六點十分到深圳灣的出租車,不加價居然沒人接單,於是約了快車。早上順利上車,沒想到這麼早居然就堵車了,還好走的早,七點前上了B3。然後在順利在屯門市中心坐上了去機場的公交。到機場取機票的時候,需要出示購票的信用卡,沒帶,嚇夠嗆,還好最後用手機銀行客戶端證明了自己是持卡人,拿到了機票。

香港飛台灣是不用填寫入境卡的。台南機場小小的很有歷史感,以前是軍用的,現在軍民合用,所以在台南的這些天,天天都能聽到戰鬥機的呼嘯聲。上次來台灣沒有機會坐公交,這次沒少坐,很舒服,還有WiFi和USB充電接口。像其他發達國家的公交一樣,車上沒有異味,車開的也很穩,司機乘客都有禮貌,乘客有一定幾率在下車時向司機師傅說謝謝。別的地方不知到,台南和高雄的公交車站都有二維碼,手機一掃,打開瀏覽器就能知道本站車輛的位置,非常之方便。在淘寶上的香港卓一電訊的流量卡,55元,7天無限流量很好用。下午三點前就到了酒店,差不多,6點出發,到口岸花一小時,到機場花一個半小時,飛機十一點半才起飛,飛一個小時多一點,兩點出來機場等公交。上次再台灣已經買了悠游卡,所以直接坐公交很方便。

酒店是在Booking上訂的,到了之後刷的信用卡付的房費。放下行李後就出來轉悠,在7-11里去了兩萬塊新台幣(取多了,最後走的時候還有一萬多),給悠遊卡沖了一些錢。步行走到武聖夜市還太早,於是在旁邊吃了三媽臭臭鍋,這種鍋在台南挺常見的,味道不錯價格實惠。我們走這一會就發現台南真是個宗教氛圍濃重的地方,很多家里都供着很大的黑臉神像,在Emanon拍完一個小廟後奧林巴斯自帶的鏡頭就懷了。於是我們搜了一個評價很好的鏡頭維修店,標準攝影器材有限公司,下午六點半走到了那裡。店裡有一位老奶奶,一開始和我門說台灣話,我們一個字也聽不懂,後來發現我們一頭霧水才開始說國語,但是國語中還是夾着幾句台語。最終溝通的結果是,不好修,如果要修可能要寄出去修,時間我們來不及。於是我們又去附近一家能維修鏡頭的店,老爺子擺弄了一會兒也說說修不了。於是我們就再次返回夜市去吃東西,途中還經過全美戲院和五條港。

前面說台南宗教氛圍濃,就在我們會武聖也是的途中還遇到了宗教遊行,推測是某位神明的生日。第一次看到隊伍的時候,並沒有意識到這是宗教遊行,因為最前面的大約四五台吉普車陪着大功率重低音功放,聲音開的很大,車頂是一根锃亮鋼管,跳鋼管舞的鋼管,每個車頂都有一位穿着暴露的女性在跳鋼管舞!等我們逛完夜市回來,又遇到這個隊伍,原來他們是走街串巷的遊行,每條小巷都走了,所以我們又遇到了。這次才看到千里眼和順風耳,以及後面的轎子里的大神。之所以認出那兩位是千里眼和順風耳,則是因為後面去了博物館學習到的。

武聖夜市是我們去的第一個夜市,以前在深圳去過兩次台灣美食街之類的活動,就以為夜市也差不多那樣。但是來了才知道夜市更像是老家的廟會,有很多東西,衣服、日用品、小玩意兒、成人/兒童遊樂場……由於我和Emanon都對肉類興趣不是很大,而且我前一段感冒還有一點點咳嗽,所以油炸類也不是很想吃,很多吃得就這麼被我們過濾掉了。最後買了好像只吃了幾個小雞蛋糕(和小時候的味道一樣),梅子(好大一袋,一直吃到去高雄那天才吃完),烏梅飲料(額,後來我再也不敢點烏梅味的飲料了)。去年之所以沒有去成夜市是因為不知道夜市並非每天都有,就像集市一樣有固定的日子,像武聖這種大夜市,直接在谷歌地圖中就能看到營業時間。

分類
程序

mysql tricks

查看數據庫中各表的大小

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,
TABLE_ROWS,concat(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,2), 'MB') 
as data FROM TABLES WHERE TABLE_SCHEMA='dbname';

#mariadb
SELECT table_schema as `DB`, table_name AS `Table`, 
  ROUND(((data_length + index_length) / 1024 / 1024), 2) `Size (MB)` 
  FROM information_schema.TABLES 
  ORDER BY (data_length + index_length) DESC;

修改數據庫表文件的儲存位置(詳細步驟)

#登入數據庫
mysql -u root -p
#查看數據庫的存放位置,即datadir的值
show variables like '%dir%';
#退出數據庫
quit
#停止mysql,失敗的話用root權限
service mysqld stop
#創建新的數據儲存位置
mkdir /data/mysql
#將舊文件移動到新位置,第一個參數是前面datadir的值
mv /usr/local/mysql/data/* /data/mysql
#修改新位置的權限
chown mysql:mysql -R /data/mysql/
#修改數據庫配置,修改這一行datadir=/data/mysql
nano /etc/my.cnf
##修改數據庫配置,修改這一行datadir=/data/mysql
##這個我並沒有找到,所以不修改應該也可以
##nano /etc/init.d/mysqld
#啟動數據庫服務
service mysqld start

參考鏈接:mysql数据库目录存放位置更改

導入與導出mysql數據庫

#導出數據庫,前面是mysql的程序位置
/data/soft/mysql-5.5.30/client/mysqldump -u  root -p video > db_video.sql
#壓縮一下便於傳輸
tar -zcvf db_video.tar.gz db_video.sql
#導入某數據庫
mysql -u user42 -p -h localhost video < db_video.sql
#導出所有數據庫
mysqldump -u root -p --all-databases | gzip > alldb.sql.gz
#導入所有數據庫
gunzip < alldb.sql.gz | mysql -u root -p
#僅導出一張表
mysqldump -p --user=username dbname tableName > tableName.sql
#將導出的一張表導入數據庫
mysql -u username -p -D dbname < tableName.sql

新增用戶及設置權限

转载自:MySQL新增用户以及数据库访问授权

mysql -u root -p
# 允许本地 IP 访问 localhost, 127.0.0.1
CREATE USER 'user42'@'localhost' IDENTIFIED BY 'PASSWORD';
# 允许外网 IP 访问
CREATE USER 'user42'@'%' IDENTIFIED BY 'PASSWORD';
# 刷新授权
flush privileges;
# 创建数据库
create database db42 DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 授予用户通过外网IP对于该数据库的全部权限
GRANT ALL ON db42.* TO 'user42'@'%';
# 刷新权限
flush privileges;
# 退出 root 重新登录
\q
# 已新帐号 user42 登录,由于使用的是 % 任意IP连接,所以需要指定外部访问IP
mysql -u user42 -h 192.168.1.168 -p

新建一個庫一張表

CREATE DATABASE `djangoTask` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE TABLE `bonus` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `userid` int(10) NOT NULL,
  `bonus` int(10) DEFAULT NULL COMMENT '奖励金',
  `level` int(3) DEFAULT NULL COMMENT '等级',
  `nowTimestamp` int(13) DEFAULT NULL COMMENT '插入时间戳',
  `nowDateTime` datetime DEFAULT NULL COMMENT '插入时间',
  `updateInfo` varchar(128) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=66156 DEFAULT CHARSET=utf8 COMMENT='bonus';

對某個時間段內某個值出現的次數做統計

SELECT info, count(info) FROM aso.aso_apple 
where nowTimestamp>'1489161600' GROUP BY info;

對某個時間段內的數據按天展示統計

SELECT COUNT(id) as 'sum', DATE_FORMAT(nowDatetime, '%Y-%m-%d') as 'day'
FROM aso.aso_apple WHERE nowTimestamp>'1488643200'
GROUP BY DATE_FORMAT(nowDatetime, '%Y-%m-%d');

昨天各商品的銷售總額

SELECT product_id, 
SUM (order_price) 
FROM orders WHERE create_time > CURDATE()-1
GROUP BY product_id;

使用inner join查看關聯數據

SELECT * FROM test.t_account a 
INNER JOIN test.t_client b 
ON a.cId = b.id WHERE b.sn like '%sz%';

刪除inner join查詢到的關聯數據

DELETE a.* FROM test.t_account a
INNER JOIN test.t_client b ON a.cId = b.id
WHERE (b.sn like '%sz%');

更新inner join查詢到的關聯數據

UPDATE task_new.t_account AS a 
INNER JOIN task_new.t_client AS b 
	ON a.cId = b.id 
	AND b.sn like '%sz%'
SET a.status='1' ;

使用子查詢

SELECT id, first_name
FROM student_details
WHERE first_name IN (SELECT first_name
FROM student_details
WHERE subject= 'Science'); 
<h3>使用新表來去重</h3>
[code language="sql"]#先新建一張表
CREATE TABLE newtable LIKE oldtable; 
#將去重後的數據插入新表
INSERT INTO newtable SELECT * FROM oldtable GROUP BY key;
#把舊表備份下
ALTER TABLE oldtable RENAME TO  oldtable_bak ;
#把新表改名為舊錶
ALTER TABLE newtable RENAME TO  oldtable ;

表結構發生變化後,從舊表複製數據到新表

#先新建一張表
 INSERT INTO `NEW_DB`.`NEW_TABLE` (`latitude`, `longitude`,`accuracy`,`altitude_accuracy`,
 `heading`,`speed`,`loc_time_text`, `loc_time`, `insert_time`, `address`, `ip`, `isp`, `text`, `owner_id`) 
 SELECT `latitude`, `longitude`,FLOOR(`accuracy`),`altitudeAccuracy`,
 `heading`,`speed`,`locTime`, `locTime`, `locTime`, `geoCode`, `ip`, `isp`, `text`, 1 
FROM `OLD_DB`.`OLD_TABLE`;

extendsclass.com提供了很多免費的在線測試工具,其中有一個免費的在線測試 MySQL 語句的工具可供大家測試 MySQL 語句。

重置 MariaDB 的 root 用戶密碼

如果我轉述的有不通的地方,請參考原文:How To Reset Your MySQL or MariaDB Root Password on Ubuntu 20.04,原文還包含了重置 MySQL 數據庫 root 用戶密碼的步驟。

首先非常建議安裝一個和要恢復密碼相同的數據庫版本相同的測試數據庫以供測試,你都把 root 密碼搞丟了,還是不要直接在產品數據庫上做實驗了。你可以通過 mysql --version 來查看數據庫的版本。

開始恢復前先關閉數據庫

sudo systemctl stop mariadb

然後用不檢查權限的方式運行數據庫

sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
sudo systemctl start mariadb

現在你就可以登入數據庫並重置密碼了

sudo mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
#下面兩行我執行後報錯
#但是並不影響,我還是成功修改了密碼
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
UPDATE mysql.user SET plugin = '' WHERE user = 'root';
exit

可以恢復到正常模式啓動數據庫並檢驗新密碼了

sudo systemctl unset-environment MYSQLD_OPTS
sudo systemctl restart mariadb
mysql -u root -p

本文更新於 2023/11/21。

分類
程序

豆瓣相册自动翻页

從台灣旅行回來,Emanon又往豆瓣相冊里上傳了很多照片。這些照片是經過她篩選的,所以質量比較高,一張一張看一遍也很舒服。但是一張一張看,手很累,即使豆瓣貼心的準備了右鍵翻頁功能。於是我就想通過網絡控制台的js來讓網頁自動跳轉,最後發現網頁控制台的代碼只能在當前網頁執行一次,到了新網頁就不能自動運行了。然後看了下火狐的擴展幫助,感覺還挺方便的於是,提交了個自動翻豆瓣相冊的插件。插件安裝地址:豆瓣相册自动翻页

當前版本安裝後只是匹配到照片頁面後,就傻瓜等待5秒後,點擊下一頁,沒有配置項,所以不用時需要去火狐的擴展頁面禁用此擴展。

以後有空的話會完善一下,增加自定義時間和手動啟動的功能。

本文更新於 2016/10/20。

分類
网站

WGS-84 To GCJ-02 經緯度在線轉換

之前一直在用http://api.zdoz.net提供的免費接口做GPS坐標轉火星坐標,也挺好用,直到發現了hiwanz的https://github.com/hiwanz/wgs2mars.js,這樣就可以減少一次網絡請求。

緯度Latitude:   
經度Longitude:
緯度Latitude:   
經度Longitude:

在開放街圖中查看原始位置

在谷歌地圖中查看轉換後的位置

本文更新於 2021/05/04。

分類
說說

1609212013

程序員說:“寫代碼還給錢,這麼好的事上哪兒找去!”

說:“

本文更新於 2016/10/17。

分類
音乐

蛹化の女

蛹化の女 - 戸川純


詞:戸川純
曲:Pachelbel
編曲:国本佳宏

“蛹化の女” is a song released by Togawa Jun and included on her first album 玉姫様 as track #9. The song uses Pachelbels song Cannon.


月光の白き林で
木の根掘れば
蝉の蛹のいくつも出てきし
ああ

それはあなたを思い過ぎて
変り果てた私の姿
月光の凍てつく森で
樹液すする私は虫の女

いつのまにかあなたが
私に気づくころ
飴色のはらもつ
虫と化した娘は
不思議な草に寄生されて
飴色の背中に悲しみのくきがのびる