標簽:經驗分享
經驗雜筆記錄一下對反垃圾郵件的UCEProtect項目的了解
最近有客戶反饋他們發郵件被攔截了,經過與郵件服務商確認,反饋是發件IP被列入了UCEProtect黑名單,找我們解決。拿到這個問題先森是一臉懵,連忙去搜UCEProtect到底是個什么玩意,但是看搜索結果也只是了解了一個大概,不知道客戶的問題是否與我們有關,最終還是找到了解反濫用的同學,才對UCEProtect有了一些了解,這里大概記錄一下。首先是一些概念性的東西,Anti-abuse(反濫用)是公有云服務提供商對其名下IP網段資源進行管控和治理的綜合工作,旨在保護其網絡服務和資源的reputation(名譽),而Anti-spam(反垃圾郵件)是anti-abuse工作的一部分,其中UCEProtect就是第三方anti-spam服務提供商/平臺之一,其他類似的還有Spamhaus、Spamcop和MAPS聯盟旗下的TrendMicro等。黑名單查詢官網查詢黑名單在UCEProtect的官網首頁點擊“Test and remove listings.”即可進入到IP/ASN的查詢界面,在這里可以輸入IP進行查詢,可以通過查詢結果判斷黑名單情況。UCEProtect的黑名單有3個等級,level1到3,其中,level1是針對IP的黑名單,level2是針對該IP所屬的IP段的黑名單,level3是針對該IP所屬服務商(ASN)的黑名單,只要上了任意級別的黑名單,發郵件就會受到影響,而看UCEProtect的說明,如果是level2和level3的黑名單,他們建議用戶向供應商投訴或者選擇其他供應商。案例分析概念性的東西挺多,還是拿案例來分析才能更好理解。在知乎上看到有人發了一個使用的IP,先森就拿這個IP做分析:https://www.uceprotect.net/en/rblcheck.php?ipr=61.135.130.240level1分析IP查詢案例首先是看level1這部分,除非是該IP真的有發送垃圾郵件,不然一般情況下這個等級中的status都是“NOT LISTED(未列出)”,也就是沒有在黑名單中,網站也有顏色提醒,綠色表示沒問題。右邊有個橙色的風險,提示DNS有高風險。這個是因為UCEProtect會去查該IP的PTR(反向地址解析)記錄(上圖第3部分),然后再通過反查獲取到的域名去查詢A記錄,判斷域名的A記錄IP是否與查詢IP相同,如果不相同,就會存在這個風險。PTR查詢方式:Windows使用nslookup IP命令,Linux可以用dig -x IP命令。PTR查詢如果level1這部分status為“LISTED”,背景為紅色,那么就是上黑名單了,一般情況下,level1這個級別的黑名單會在最后一次發現濫用的7天后自動刪除。有些業務會認為7天時間太長了,需要趕緊解除黑名單,UCEProtect有提供“快速退出”服務,這個需要給錢,但由于先森這邊沒有level1級別的黑名單IP案例,所以先森不知道level1級別是否有提供“快速退出”服務。level2分析level2黑名單分析level2這部分就可以看到,status這部分有個16的網段處于黑名單中(標簽①),且提供了“快速退出”服務(標簽③),根據UCEProtect的描述,“快速退出”服務是由第三方服務商提供的,所以無法免費。先森看了一下,level2級別黑名單快速退出服務需要支付249CHN瑞士法郎(約為2040元),level3需要449CHN瑞士法郎(約3678元),這個錢,看起來是誰都可以支付,但是UCEProtect的建議是聯系服務商,讓服務商處理,或者干脆更換服務商。那么是怎么進入的黑名單呢,主要就是看上圖標簽②部分。“Impacts in this net within the last 7 days”直譯過來是“過去7天內對該網絡的影響”,看了一下UCEProtect對level2的策略,這個大概就是過去7天內,該網段內檢測到了多少垃圾郵件,而在這一項的左側有一項“Level 1 listed abusers within the last 7 days”,就是過去7天內有多少個Level 1黑名單IP,這些IP可能產生了大量的垃圾郵件。“Level 2 Escalation limit by Impacts”直譯過來“2級影響升級限制”,這個就是是否上黑名單的閾值了。用圖中的案例來說,這個值是96,而“Impacts in this net within the last 7 days”的值是252,遠遠大于96,所以61.135.0.0/16網段就上黑名單了,要降下來就需要將252這個值降低到96以內。level3level3黑名單分析level3級就是IP服務商的黑名單了,黑名單的規則實際上是比較復雜的,但就使用者而言,我們只需要關注他的Status狀態,再了解一下距離脫離黑名單或上黑名單有多遠即可。level3與level2類似,比對的是“Impacts from Level 1”和“Level 3 Escalation limit by Impacts”的值,“Level 3 Escalation limit by Impacts ”是閾值,“Impacts from Level 1”的值超過該值那就上黑名單,低于該值則會自動免費刪除(看說明應該是不用等7天)。level3還有一個Spamscore垃圾郵件分數的值,看文檔該值的計算公式為(Level 1 impacts from this ASN / total IPs in this ASN) * 100000,即該ASN的level1影響數除以該ASN的IP總數,再乘以10萬,UCEProtect認為好的服務商應該保持SPAMSCORE在10以下。狀態等級黑名單的狀態等級雖然只需要關心3個等級中是否已經上黑名單,即status是否為紅色LISTED,綠色的“NOT LISTED”表示沒有問題,但是status除此之外還有一些其他的情況。先森看了一下,沒有找到相關的文檔,上面也說了,這個狀態和檢測到的垃圾郵件情況(影響)與閾值的占比有關,先森自己測算了一下,各種狀態的情況大概如下status背景顏色影響/閾值的占比NOT LISTED綠色0ATTENTION Increased Listingrisk黃色(0,50%)WARNING High Listingrisk橙色[50%,75%)ALERT Extreme Listingrisk淡紅色[75%,100%)LISTED大紅色[100%,+∞)最后從業幾年以來,這個情況先森還是第一次遇到,不知道以后能不能遇到,但是做個記錄吧,沒事的時候拿出來看看。
經驗雜筆解決IOS相機膠卷導入照片后堆在最新照片的問題
先森最近遇到個問題,從電腦通過愛思助手導入了一些照片,但是照片妥妥的都是排在相機膠卷的末尾,也就是最新照片,這樣讓先森的強迫癥犯了,很不舒服。先森的系統是IOS 12,雖然打開照片程序,最左側是照片流,導入的照片在這里是按時間排序的,但是先森還是習慣于在相簿中的相機膠卷里看照片。而且,很重要的一點是,通過微信或QQ發送照片的時候,顯示在最前面的也是相機膠卷中最新的照片。先森導入了5000多張照片,如果想發送導入之前的照片,即使是昨天拍的,找起來也比較困難。還有一個問題,先森的圖片有些是Live Photo(實況),如果直接使用愛思助手的文件夾導入圖片的話,圖片和視頻是分開的。如果按Live Photo導入的話,剩余的非實況照片又難以區別,畢竟照片太多了。先森想要的,是在相機膠卷里最新導入的照片也按照時間來排序。愛思助手導入照片起因先森之所以會導入5000多張照片,這得多虧先森的騷操作。先森之前手殘把手機越獄了,體驗了一波不完美越獄,BUG連連新鮮感過了也就沒什么感覺了,先森還發過一篇博文來記錄BUG,IOS 10系統不完美越獄 刪除doubleH3lix后cydia閃退。后來先森迷上了刺激戰場,然后還買了吃雞神器,就是在手機上架兩個按鈕。這個吃雞什么用習慣之后還好,但是有個硬傷:打游戲的時候有推送消息的時候,一按開槍就點到推送了,先森不知道多少次因此送人頭。而后關注到IOS12有一個勿擾模式,聽名字好像可以免推送的打擾啊,所以在IOS 12發行之后先森就想著體驗了。但是先森的手機是越獄過的,據先森了解,越獄之后升級系統會出問題,所以先森就很聰明的把手機備份后恢復出廠設置了,然后再升級。結果在恢復備份的時候出問題了,itunes提示“備份已損壞,無法恢復備份”!Emmm...重點是,先森想全數據備份,做的是加密備份!問了下愛思助手的客服,加密備份他們也沒辦法把照片啥的恢復出來。。。生活還得繼續,先森使用icloud恢復部分的數據。icloud只有免費5G的配額,早早的就被先森撐滿了,所以數據都是比較久遠的了。后來,先森發現了一款號稱可以替代iTunes的軟件iMazing(軟件是收費的,先森使用的當然是。。。),這個軟件可以管理備份數據,加密的也可以。可發現這款軟件的時候已經距離上次事故有一段時間了,先森完美的把備份密碼忘了,嗯,忘了。輸入密碼進行管理當然,發現iMazing的時候先森并沒有想拯救之前的備份,而是經過之前的事件先森明白了備份的重要性,進而這款軟件的WIFI備份吸引了我。據說是連上同網絡的WIFI就可以自動進行備份,然而實測,想通過WiFi備份并不容易。再過了一段時間,也就是前兩天,先森竟然在無意間試出了備份加密的密碼,感動的先森連說了三次“臥槽”。整個手機的5000多張照片就這樣導出到了我的電腦,然后再導入手機,就出現本文的煩惱了。經過不斷的嘗試與一次恢復手機后,先森終于還是找到了解決方法。解決操作前最好還是給手機來次備份。有上文的慘劇為參照,備份的時候最好備份兩次,一次不加密的,一次加密的。加密備份是為了能夠最大程度的還原,不加密備份是為了數據恢復更容易。方法貌似是臺灣同胞那邊首發的,以下為先森實際操作之后整理的步驟。1、關閉 iOS 相機、相冊后臺程序,保持手機常亮:設置 - 顯示與亮度 - 自動鎖定,時間修改為「永不」;2、手機連接電腦,電腦上裝好助手軟件,先森用的是愛思助手;3、打開助手軟件,進入「文件管理」,找到「/DCIM」文件夾,進入;進入DCIM目錄4、導入照片。導入照片的時候,最好選擇一個最新的文件夾,最好是空的。如果沒有的話,可以使用愛思助手-照片-導入照片先傳一張照片,這時候應該會新建一個文件夾,里面也只有這一張照片;或者可以試試自己新建一個文件夾,編號加1試試。打開空文件夾后,直接把電腦上的圖片全拖進來。先森不太清楚IOS的新增文件夾的規則,怕單個文件夾內圖片太多會出問題,所以先森是每個空文件夾內導入大概1000張的照片。圖片不需要重命名,只要不和手機原本的照片在同一個文件夾,就不用管圖片名稱相同的問題。5、備份photos.sqlite。照片導入完成之后,再回到文件系統的根目錄,進入「/PhotoData」文件夾,里面有個photos.sqlite文件。將這個文件重命名,后面加個bak什么都行。為了保險,還可以將這個文件拖到電腦上保存一份。然后手機斷開電腦,重啟。重啟后打開照片應用,圖片會重新開始刷新出現。而photos.sqlite文件也會重新出現一個。(注:photos.sqlite文件是照片數據庫存儲文件)先森之前將這個文件直接刪除了,重啟后發現照片丟失了一部分,進入DCIM發現圖片不見了。。。最后只有恢復備份。如果photos.sqlite文件有備份的話,可能直接恢復就OK了。6、電腦下載安裝DB Browser for SQLite,安裝后,將手機「/PhotoData」文件夾下新生成的photos.sqlite文件導出到電腦,拖到軟件框中打開,切換至「執行SQL」Tab下,粘貼以下更新語句:UPDATE zgenericassetSET zaddeddate = zdatecreatedWHERE zaddeddate>0 AND zdirectory LIKE 'DCIM%'點擊 ▶? 按鈕,等待一毫秒,看到底部框中顯示「執行成功」后,點擊頂部「寫入更改」;執行SQL點擊頂部的「文件」,再點擊「關閉數據庫」,或者按快捷鍵Ctrl+W;7、將手機「/PhotoData」文件夾下的photos.sqlite再重命名做個備份,比如photos.sqlite.bak2;然后將軟件修改后的photos.sqlite導入到「/PhotoData」中;8、將手機「/PhotoData」文件夾下的「Photos.sqlite-shm」與「Photos.sqlite-wal」都重命名做備份。PS:此時手機上的照片APP應該是關閉狀態。先森的備份戰況8、打開 iOS 的照片 App 相機膠卷,會發現照片已經按照時間來排序了,并且Live Photo也不是照片與視頻分離的。總結通過先森慘痛的經歷,我們應當記住的是備份的重要性,而備份更重要的是有效備份。關于iPhone的備份方案,如果夠勤快,可以過一段時間通過電腦備份一次,iTunes或者其他工具;如果有錢,可以購買icloud的套餐,50G/6元/月,200G/21元/月,2T/68元/月;如果沒那么土豪,可以和先森一樣,icloud用來備份除照片以外的數據,畢竟這些數據沒有多大,5G完全夠用了,然后照片,先森是用的OneDrive。OneDrive個人賬號空間是5G,先森通過完成邀請任務將空間擴容到15G(邀請1人增加0.5G,最多20人,可以通過某寶代完成),15G來存照片已經完全夠用了。當然,先森還有教育郵箱的,1T-5T的空間,只是私密性和穩定性沒那么好,最好還是不要存重要數據。當然,肯定有更好的方案,只是先森就只知道這么多了。
經驗雜筆iPhone用自己的Apple ID下載安裝舊版本的APP
很久沒有更新文章了,現在發現網站打開真的慢,但是又無心折騰,唉,老了。因為喜歡薅羊毛,所以手機有安裝Telegram。最近升級了IOS 12,然后12.0.1出來了,趕緊更新一波。更新完成之后發現,手機軟件也順便更新了一波,所以Telegram也更新到了5.0.9這個版本。經過使用發現,這個版本不能安裝自定義語言文件,所以不能漢化,這個倒無所謂,更讓先森不爽的是,軟件里的ssr鏈接全都變成了文字而不再是鏈接形式了,一點都不方便,所以怎么也得回退一下版本。百度了一下說要iTunes抓包,感覺有點麻煩,所以去問了一下朋友,朋友那里自己有做安裝舊版本的網站,但是我下載后安裝無限循環彈窗,讓輸入AppleID和密碼,但是輸入朋友提供的賬號密碼之后就閃退,無解,只能另尋出路,所以就有了本文。本文只談經歷,提供方法、工具的大佬需要我們膜拜。iPhone用自己的Apple ID下載安裝舊版本的APP下載工具先森在威鋒網找到了一個“蘋果舊版app下載”的工具,后又在吾愛破解看到了,也不知道哪個是原出處。先入為主吧,且時間貌似威鋒網這邊更早一點,所以就當威鋒網這邊是原出處,這里是傳送門:[原創] 蘋果舊版APP一鍵下載(9.14更新)在原貼末尾有工具的下載,但是對于工具的使用卻沒有過多的描述,可能是已經更新到第三版了,所以工具比講解更重要吧。為了防止原貼的百度網盤失效,先森自己也保存了一份,點擊下載,提取碼: 1234。下載工具后,需要先注冊。注冊隨便填就好,郵箱也不需要驗證。登錄之后可以進入到軟件的主頁面。準備iTunes這個工具其實就是將以往需要手動抓包修改下載鏈接的工作自動化了,所以首先你電腦上安裝的iTunes要帶有應用商店,也就是說不能使用最新版本的iTunes。如果已經安裝過iTunes,那么需要先將iTunes完全卸載,然后安裝帶有“應用”的版本。威鋒大神提供的工具右上角,有一個“iTunes下載”按鈕,下載的版本為12.3.2.25,這個版本可以使用。當然,也可以自己去Apple官網找到這個版本下載。iTunes 12.3.2.25下載后首先要登錄你的Apple ID登錄Apple ID因為版本比較老,所以開啟了雙重驗證的Apple ID會登錄不成功。這時候登錄了該Apple ID的手機進入“設置”,點擊飛行模式上面的那個頭像,進入Apple ID的設置,再點擊“密碼與安全性”,進入后點擊“獲取安全碼”,在電腦iTunes登錄時,將彈出的安全碼輸入密碼后面即可登錄成功了。獲取安全碼另一個坑先森遇到的另一個坑是因為先森用的虛擬機,虛擬機環境中沒有安裝.NET4.0,如果不安裝的話,威鋒大佬發的軟件就不能正常運行,無論怎么下載軟件都是最新版本。所以一定要確定當前系統已經安裝了“Microsoft .NET Framework 4.0”。下載舊版本APP準備工作就緒之后,軟件使用起來就很簡單了。1、iTunes頂部右側搜索想要安裝的APP;2、回到威鋒大佬提供的軟件搜索該APP;3、雙擊搜索到的所需APP,查看歷史版本;4、右鍵所需要的歷史版本,點擊“下載此版本”,工具會彈窗提醒“應用成功,去itunes下載即可”;5、回到itunes,下載即可獲取到舊版本的ipa軟件包。下載舊版本APP(點擊放大)下載完成后,iTunes點擊“我的iPhone應用”,在應用右鍵點擊“在Windows資源管理器中顯示”即可得到舊版本的ipa軟件包。最后將下載個i4助手等工具,連接手機后,在工具中打開應用,將ipa拖進應用列表即可安裝。詳細步驟請百度。總結操作可以說很簡單,但是坑確實有,做個記錄,希望能幫助到各位道友。回顧一下步驟,如下:1、下載威鋒大佬的工具2、下載老版本的iTunes3、確認電腦是否安裝.NET 4.0環境4、下載舊版本ipa軟件包5、安裝到手機
經驗雜筆IOS 10系統不完美越獄 刪除doubleH3lix后cydia閃退
好久沒有更新了,甚至好久沒有進自己的博客了,今晚加班,先森趁著等待開工的時間,把手上的兩個手機都給越獄了。之所以要越獄,是因為之前跟著女票刷了一會兒抖音,看到有人的iphone在來電時候,背景是林俊杰《可惜沒如果》的MV視頻!同樣是蘋果,為什么你的就這么炫酷?!先森之前以為很簡單,設置聯系人頭像圖片用live photo那種就行了,結果嘗試后慘敗,最后發現需要越獄。先森是沒打算兩個手機都越獄的。通過愛思助手,先森的6S PLUS很輕松的就越獄成功了,但是安裝上插件(vWallpaper 2 for ios10)之后,打開到設置聯系人那里就閃退。手機系統是IOS10.3,通過網上說的在隱私-通訊錄那里選擇允許啊什么的,都沒用。通訊錄里的選項,要打開軟件,到設置聯系人來電MV的地方彈窗之后,才會在隱私里面顯示,軟件閃退前點了“允許”在隱私里面就已經是允許了,根本不需要單獨去點。總之,IOS 10.3應該是沒戲,作者是一年多以前更新的,應該沒有支持IOS10.3版本。雖然閃退,但是最后先森使用的是直接修改配置文件(GlobalVRingtones.plist)的方式讓效果達到了。不過這種方式就不能給單獨聯系人設置不同的來電MV了,這時候強迫癥就犯了——先森將另一臺5S也給越獄了。5S的系統是IOS 10.2.1,也是輕松越獄,裝上vWallpaper 2 for ios10后完美支持,先森發現單獨設置聯系人來電MV是VRingtonesByID.plist這個配置文件,只是這個文件里面的key是數字,要手動改的話,太麻煩了(先森還是用排除法找到了6S PLUS的key值)。研究清楚之后,先森覺得5S的越獄沒啥價值了,就想回歸到獄中。然而越獄容易返獄難,先森隨手就把doubleH3lix刪了,然后再去發現,想返獄很麻煩。就這樣,先森陷入了一個進退兩難的境地,系統回不去了,用愛思助手重裝doubleH3lix后cydia變閃退了。不停的重啟N次(是重啟,不是注銷),還是無果。然后看到PP助手里對他們的越獄工具所造成的cydia閃退的解決方法是把系統時間設置到2017年01月01日,我照做了。然后看到威鋒網的網友提到了一句“掛微屁恩”,然后先森聯想到6S PLUS越獄之后打開cydia提示無網絡,也是需要科學上網的,先森就把5S的SSR打開了,然后打開doubleH3lix一點,竟然是注銷了,然后進手機,cydia可以打開了。先森也不清楚兩個操作是哪個生的效,或是一起生效,總之,還是回到了越獄的狀態了。IOS 10越獄
經驗雜筆win7藍屏代碼0X00000024的解決記錄
自從畢業參加工作以來,重裝系統、解決電腦故障的事情接觸的越來越少了,精力都放在服務器上了。最近,合租的室友的電腦開不了機,開機就藍屏,先森這里記錄下解決過程。藍屏代碼0X00000024修復記錄遇到這些問題,首先先森百度了一番,說是硬盤問題,壞道什么的。先嘗試了最后一次正確的配置、安全模式,試了之后都是藍屏,只能再找其他方法。還好的是,可以用U盤進PE系統。先森進入PE之后,想著可能實在不行得重裝系統了,所以先想把系統盤的東西備份一下。問了一下合租室友,重要的東西都在桌面,而且真的是重要。這讓先森更不敢亂整了。結果,先森硬是找了一圈沒找到系統盤在哪,最后發現,I盤就是系統盤,但是I盤的大小并不顯示,點擊也沒有效果。系統盤不顯示使用大小這種情況讓先森有點懵逼,咨詢了下大學基友,基友的建議是讓我嘗試一下用傲梅分區助手拷貝一下系統盤的文件,然后進行備份。等待了10多分鐘,備份完畢,但是備份出來的磁盤一看,還是不顯示使用大小,備份出來和I盤系統盤一樣的無法訪問。最后,先森發現還是DiskGenius(硬盤修復分區工具)給力,打開時右側默認顯示的是“分區參數”,可以切換到“瀏覽文件”,先森就是這樣將不顯示磁盤使用大小的系統盤桌面文件拷貝出來了。重要文件既然做好了備份,那就可以隨便浪了。先森首先掃描壞道,就是用DiskGenius,但是貌似沒啥毛病。繼續百度,找到了以前經常用來修復無法讀取的SD卡的CMD命令,據說可以修復磁盤問題,沒錯,就是“chkdsk c:/f”。但是,問題來了,先森在PE中打開CMD,執行這個命令,提示命令不存在。先森下意識以為可能PE不支持這個命令,但是一想,別人提供教程的怎么又可以呢?——PE問題,區別就是使用的PE不同了。先森習慣使用的是老毛桃裝機PE,而且進入菜單時,選擇的是win8風格防藍屏的PE,退出,進入老電腦XP風格的PE,然后再進CMD,一執行命令,有戲。先森也正是靠這個方法,解決了這次的藍屏問題。PE中按win + R,輸入cmd,然后執行“chkdsk I:/f”,因為先森這里系統盤是I盤。回車之后需要修復很久,反正先森是盯著看命令行刷了幾萬行。修復磁盤 漫長的等待之后,終于修復結束。修復完成結束之后退出PE,重啟進入硬盤操作系統。系統重啟時可能會更新和自檢,等待至完畢后先森成功進入系統登錄界面。總結總之,藍屏問題最簡單的就是重啟就解決了,堅固點的恢復最后一次正確配置也能解決。然后再麻煩的就是如本文需要修復的了,更麻煩或者說是簡單的就是重裝系統了。但是無論怎樣,操作之前一定要備份好重要文件。另外,桌面不放重要文件,這也是常識。實在常用,可以做快捷方式嘛。一件事情,時間久了總容易忘,所以先森將此記錄下來,以便備忘,能幫到人當然是更好的。以上。
系統運維, 經驗雜筆原來TCP 協議可以這樣容易懂
在運維工作中,經常接觸到網絡,所以先森今天看到這篇文章覺得寫得不錯,轉載過來自用。一、TCP 協議的作用互聯網由一整套協議構成。TCP 只是其中的一層,有著自己的分工。(圖片說明:TCP 是以太網協議和 IP 協議的上層協議,也是應用層協議的下層協議。)最底層的以太網協議(Ethernet)規定了電子信號如何組成數據包(packet),解決了子網內部的點對點通信。(圖片說明:以太網協議解決了局域網的點對點通信。)但是,以太網協議不能解決多個局域網如何互通,這由 IP 協議解決。(圖片說明:IP 協議可以連接多個局域網。)IP 協議定義了一套自己的地址規則,稱為 IP 地址。它實現了路由功能,允許某個局域網的 A 主機,向另一個局域網的 B 主機發送消息。(圖片說明:路由器就是基于 IP 協議。局域網之間要靠路由器連接。)路由的原理很簡單。市場上所有的路由器,背后都有很多網口,要接入多根網線。路由器內部有一張路由表,規定了 A 段 IP 地址走出口一,B 段地址走出口二,......通過這套"指路牌",實現了數據包的轉發。(圖片說明:本機的路由表注明了不同 IP 目的地的數據包,要發送到哪一個網口(interface)。)IP 協議只是一個地址協議,并不保證數據包的完整。如果路由器丟包(比如緩存滿了,新進來的數據包就會丟失),就需要發現丟了哪一個包,以及如何重新發送這個包。這就要依靠 TCP 協議。簡單說,TCP 協議的作用是,保證數據通信的完整性和可靠性,防止丟包。二、TCP 數據包的大小以太網數據包(packet)的大小是固定的,最初是1518字節,后來增加到1522字節。其中, 1500 字節是負載(payload),22字節是頭信息(head)。IP 數據包在以太網數據包的負載里面,它也有自己的頭信息,最少需要20字節,所以 IP 數據包的負載最多為1480字節。(圖片說明:IP 數據包在以太網數據包里面,TCP 數據包在 IP 數據包里面。)TCP 數據包在 IP 數據包的負載里面。它的頭信息最少也需要20字節,因此 TCP 數據包的最大負載是 1480 - 20 = 1460 字節。由于 IP 和 TCP 協議往往有額外的頭信息,所以 TCP 負載實際為1400字節左右。因此,一條1500字節的信息需要兩個 TCP 數據包。HTTP/2 協議的一大改進, 就是壓縮 HTTP 協議的頭信息,使得一個 HTTP 請求可以放在一個 TCP 數據包里面,而不是分成多個,這樣就提高了速度。(圖片說明:以太網數據包的負載是1500字節,TCP 數據包的負載在1400字節左右。)三、TCP 數據包的編號(SEQ)一個包1400字節,那么一次性發送大量數據,就必須分成多個包。比如,一個 10MB 的文件,需要發送7100多個包。發送的時候,TCP 協議為每個包編號(sequence number,簡稱 SEQ),以便接收的一方按照順序還原。萬一發生丟包,也可以知道丟失的是哪一個包。第一個包的編號是一個隨機數。為了便于理解,這里就把它稱為1號包。假定這個包的負載長度是100字節,那么可以推算出下一個包的編號應該是101。這就是說,每個數據包都可以得到兩個編號:自身的編號,以及下一個包的編號。接收方由此知道,應該按照什么順序將它們還原成原始文件。(圖片說明:當前包的編號是45943,下一個數據包的編號是46183,由此可知,這個包的負載是240字節。)四、TCP 數據包的組裝收到 TCP 數據包以后,組裝還原是操作系統完成的。應用程序不會直接處理 TCP 數據包。對于應用程序來說,不用關心數據通信的細節。除非線路異常,收到的總是完整的數據。應用程序需要的數據放在 TCP 數據包里面,有自己的格式(比如 HTTP 協議)。TCP 并沒有提供任何機制,表示原始文件的大小,這由應用層的協議來規定。比如,HTTP 協議就有一個頭信息Content-Length,表示信息體的大小。對于操作系統來說,就是持續地接收 TCP 數據包,將它們按照順序組裝好,一個包都不少。操作系統不會去處理 TCP 數據包里面的數據。一旦組裝好 TCP 數據包,就把它們轉交給應用程序。TCP 數據包里面有一個端口(port)參數,就是用來指定轉交給監聽該端口的應用程序。(圖片說明:系統根據 TCP 數據包里面的端口,將組裝好的數據轉交給相應的應用程序。上圖中,21端口是 FTP 服務器,25端口是 SMTP 服務,80端口是 Web 服務器。)應用程序收到組裝好的原始數據,以瀏覽器為例,就會根據 HTTP 協議的Content-Length字段正確讀出一段段的數據。這也意味著,一次 TCP 通信可以包括多個 HTTP 通信。五、慢啟動和 ACK服務器發送數據包,當然越快越好,最好一次性全發出去。但是,發得太快,就有可能丟包。帶寬小、路由器過熱、緩存溢出等許多因素都會導致丟包。線路不好的話,發得越快,丟得越多。最理想的狀態是,在線路允許的情況下,達到最高速率。但是我們怎么知道,對方線路的理想速率是多少呢?答案就是慢慢試。TCP 協議為了做到效率與可靠性的統一,設計了一個慢啟動(slow start)機制。開始的時候,發送得較慢,然后根據丟包的情況,調整速率:如果不丟包,就加快發送速度;如果丟包,就降低發送速度。Linux 內核里面設定了(常量TCP_INIT_CWND),剛開始通信的時候,發送方一次性發送10個數據包,即"發送窗口"的大小為10。然后停下來,等待接收方的確認,再繼續發送。默認情況下,接收方每收到兩個TCP 數據包,就要發送一個確認消息。"確認"的英語是 acknowledgement,所以這個確認消息就簡稱 ACK。ACK 攜帶兩個信息:·期待要收到下一個數據包的編號·接收方的接收窗口的剩余容量發送方有了這兩個信息,再加上自己已經發出的數據包的最新編號,就會推測出接收方大概的接收速度,從而降低或增加發送速率。這被稱為"發送窗口",這個窗口的大小是可變的。(圖片點擊放大)(圖片說明:每個 ACK 都帶有下一個數據包的編號,以及接收窗口的剩余容量。雙方都會發送 ACK。)注意,由于 TCP 通信是雙向的,所以雙方都需要發送 ACK。兩方的窗口大小,很可能是不一樣的。而且 ACK 只是很簡單的幾個字段,通常與數據合并在一個數據包里面發送。(圖片說明:上圖一共4次通信。第一次通信,A 主機發給B 主機的數據包編號是1,長度是100字節,因此第二次通信 B 主機的 ACK 編號是 1 + 100 = 101,第三次通信 A 主機的數據包編號也是 101。同理,第二次通信 B 主機發給 A 主機的數據包編號是1,長度是200字節,因此第三次通信 A 主機的 ACK 是201,第四次通信 B 主機的數據包編號也是201。)即使對于帶寬很大、線路很好的連接,TCP 也總是從10個數據包開始慢慢試,過了一段時間以后,才達到最高的傳輸速率。這就是 TCP 的慢啟動。六、數據包的遺失處理TCP 協議可以保證數據通信的完整性,這是怎么做到的?前面說過,每一個數據包都帶有下一個數據包的編號。如果下一個數據包沒有收到,那么 ACK 的編號就不會發生變化。舉例來說,現在收到了4號包,但是沒有收到5號包。ACK 就會記錄,期待收到5號包。過了一段時間,5號包收到了,那么下一輪 ACK 會更新編號。如果5號包還是沒收到,但是收到了6號包或7號包,那么 ACK 里面的編號不會變化,總是顯示5號包。這會導致大量重復內容的 ACK。如果發送方發現收到三個連續的重復 ACK,或者超時了還沒有收到任何 ACK,就會確認丟包,即5號包遺失了,從而再次發送這個包。通過這種機制,TCP 保證了不會有數據包丟失。(圖片說明:Host B 沒有收到100號數據包,會連續發出相同的 ACK,觸發 Host A 重發100號數據包。)(完)
經驗雜筆移動國內流量:淘寶簽到領300M流量
轉眼7月降臨,童鞋們的流量是不是又hold不住了呢?朋友告訴先森移動這次又有了可以領流量的地方,來看看。這次的簽到領流量活動是在淘寶中進行的,每簽到7天可以領100M流量,重點是,這是國內流量。高考結束出去旅游的童鞋們可以繼續嗨了。另外以下活動依舊可以參加:四川移動流量活動兩則:5月-9月每月100M;流量用滿就送中國移動MM應用商場送530M國內流量活動規則活動時間:2017.07.01-2017.07.28活動對象:全國移動.活動平臺:手機淘寶APP參加活動復制口令“¥otQmZziz2Zm¥”到手機淘寶打開,關注店鋪“中國移動官方旗艦店”,綁定淘寶ID和手機號后開始簽到。簽到領流量活動規則
經驗雜筆中國移動MM應用商場送530M國內流量
這個月不知道怎么領的,移動的流量居然累積到了5個G,所以想當然的認為大家都不缺流量,因此沒有怎么分享流量。可是身邊的朋友竟然因為大意把流量用完了,還扣了近100塊的話費,罪過。月末了,不知是否有朋友流量枯竭,但就算沒有枯竭,咱也要為下個月的口糧做打算了。領取500M流量活動規則活動時間:2017.06.16-2017.07.30活動對象:全國移動,要新用戶或者是3個月內沒有登錄的老用戶才可以領取500M流量!活動平臺:安卓手機MM應用商城APP注意事項:同一個安卓手機最多可以給兩個手機號碼領獎、不得使用非手機終端操作獲獎,否則取消活動資格。參與活動1.首先,這個活動需要下載MM應用商城APP,百度“中國移動應用商城”即可找到。注意,只有安卓手機才能裝哦,蘋果用戶。。。先森就是,所以電腦下載的安卓模擬器參加的活動。2.打開應用,首先登錄。沒有注冊過的就注冊,如果注冊過的就登錄。密碼可能忘記了,但是先森提醒下,密碼應該是和飛信共通的,不過實在記不起來還是直接重置密碼吧。3.進入應用,點擊底部菜單欄->優惠,找到“有獎活動”。(點擊查看原圖)優惠->"有獎活動"4.在活動中,找到“MM派福利:500M流量免費領”,進入。MM派福利:500M流量免費領5.流量是需要搶的,在活動期間每天的每個整點發放。另外,分享可以活動30M流量,這個就不需要搶了。可以繼續往下看,看看活動規則。整點領流量6.活動規則:(點擊放大 查看原圖)活動規則
經驗雜筆贊!活動規則改動:新華社一帶一路點贊領100M流量 變為每日可領
關注公眾號之后 點擊菜單欄【領流量】然后分享給朋友或者分享到朋友圈(先森一般分享給自己),驗證手機號,提交即可。每日限量,今天沒有了的話,朋友們可以明天領取。流量非秒到,將在72小時到賬,三網用戶均可領取(但是實測還是秒到的)。活動更新為每日可領,新老用戶不限!本來是聯通、電信不限量的:電信、聯通不限量但貌似現在已經變更為移動、聯通、電信三網均不限量了,移動的同學可以試試。移動、聯通、電信全都有具體的領取流程,請看這里:5月全國流量活動:點贊“一帶一路”領100M流量
經驗雜筆5月四川電信流量活動:發送短信到10001領500M省內流量
電信的朋友好像都不怎么缺流量,不知道現在快到月末了,是否也是流量儲備充足呢?如果流量不足了,那就來看看這個活動,手指一動,流量到手。為回饋廣大用戶,四川電信針對視視手機智能客戶端用戶推出0元500M本地流量福利,您有機會在本月免費領取。活動規則活動時間:2017年5月活動對象:四川電信用戶(除上網卡、隨意卡、時長版、電子旅游卡、聯通老套餐、無線通、新村通、卡式掛機、個人定制和部分政企個性化套餐外的3G/4G用戶)參與活動1. 編輯短信5651到10001,即可獲得0元500M本地流量,領取立即生效,流量當月有效,每個號碼僅限訂購1次。2. 此流量在套餐內流量(含訂購流量包)之后使用。四川電信0元500M流量

川公網安備 51011202000104號