ref: https://www.hwchiu.com/ping-implementation.html
本篇文章是難得的自產文章,該文章分享一下自己觀察不同 ping 指令與不同發行版本下的實作方式,主要探討的點是 ICMP 封包是如何產生的。
就我目前認知,目前至少有三種常見方式來設定 ping 指令讓其能夠順利收送 ICMP 封包。
常見的 TCP/UDP 應用程式實際上都是讓 Kernel 幫忙處理底層的 L3/L4 封包,使用者的應用程式則是專注於資料的交換與處理,簡單的說法就是專心處理 L7 資料。
但是 ICMP 封包不同於上述的 TCP/UDP 封包,一種方式就是透過 RAW Socket 的形式自行去拼湊組裝 ICMP 格式,自行處理一切封包的處理。
RAW Socket 本身也不允許每個使用者都能輕易開啟,必須要有相關的權限才可以執行,因此一種 PING 的實作方式就是透過 SetUID 的方式,讓所有能夠執行 ping 指令的使用者會短暫瞬間提權變成 Root 的身份
也因為是 Root 就可以順利的開啟 RAW Socket。
SetUID 強大且方便,簡簡單單就可以讓使用者瞬間變成 Root,但是也因為簡單好像就安全角度來看會覺得不太嚴謹,畢竟我想要的只是一個能夠開啟 RAW Socket 的權限,你去把整個 Root 都送給我。
因此第二種實作方式就是透過 Linux Capability 來達到更細緻化的權限控管,讓任何可以執行 ping 指令的使用者都可以短暫獲得 cap_net_raw 的權限,最終順利的開啟 RAW Socket
而第三種方式則是跳脫的權限的概念,與其透過 RAW Socket 來自行打造 ICMP 封包,不如讓 Linux Kernel 幫忙處理 ICMP 封包,ping 的程式只要跟 Kernel 要求建立一個基於 ICMP 協定的 socket 即可。
透過第三種方式最終可以達到 setuid-less 的架構,ping 的應用程式再也不需要任何的特殊權限,每個使用者都可以順利執行來收送 ICMP 封包。
文章內會針對三種方式進行實驗跟觀察,對 PING 指令有興趣別忘了參考看看
同時也有1部Youtube影片,追蹤數超過2萬的網紅Caroltsy,也在其Youtube影片中提到,哈喽!! 虽然我住北海,离太平不远也常常会经过太平去其它州属。可是,说真的,除了小学去太平动物园玩之外。我对太平完全没有概念。哈哈哈! 知道说出来可能会被笑,不过我终于有机会去太平走走了! 这个影片记录的是我去太平的Spritzer EcoPark。在 Spritzer EcoPark的对面就是...
socket概念 在 軟體開發學習資訊分享 Facebook 的最佳解答
深入 TCP/UDP/HTTP Socket 程式設計,為初學者到專家準備的網路基礎概念課程
https://softnshare.com/network-programming-from-scratch/
socket概念 在 軟體開發學習資訊分享 Facebook 的精選貼文
C/C++ Linux 專案,網路 Socket 程式設計,建立 TCP/IP 通訊協定堆疊,使用 C 語言實現 L2 和 L3
從這 14.5 小時的課程,你會學到
1 從頭開始自己實現 TCP / IP 通訊協定堆疊的第2/3層
2 編寫自定義 CLI 命令以配置網路拓撲
3 從頭開始建構網路拓撲
4 實施路由和交換演算法 – 實用方法
5 計時器、GLthreads、程式庫整合、Makefile、專案模組化技術
6 使用版本控制系統 git 從頭開始管理和開發大型原始碼
7 這是理論最少的 100% 編碼課程
8 在網路領域的所有其他面試中,都將要求你解釋基本的路由概念,所以請不要錯過本課程!
https://softnshare.com/tcpipstack/
socket概念 在 Caroltsy Youtube 的精選貼文
哈喽!!
虽然我住北海,离太平不远也常常会经过太平去其它州属。可是,说真的,除了小学去太平动物园玩之外。我对太平完全没有概念。哈哈哈!
知道说出来可能会被笑,不过我终于有机会去太平走走了!
这个影片记录的是我去太平的Spritzer EcoPark。在 Spritzer EcoPark的对面就是Spritzer的工厂。还蛮特别的一个地方。除了小孩子可以玩耍的地方,那边最多的就是大大小小的高尔夫球区。很适合家庭出游=D
至于Pokemon…虽然我不是狂热分子但是出外还是会打开手机看能不能捕获什么特别的神奇宝贝。结果神奇宝贝没看到,野生猴子就有蛮多的~~
不过,太平的树林地区真的是很多。第一次找到在马来西亚有很多适合野餐的地点。像太平公园就很适合!
如果有想去太平走走的朋友也可以去这个Spritzer Ecopark看看~
希望正在看影片的你,会有很开心的一天哦!
Previous video:https://goo.gl/qWc2ub
Stay Connected:
➫ Instagram: https://instagram.com/caroltsy
➫ Facebook: https://facebook.com/CarolTSYOfficial
➫ Snapchat: @caroltsy
➫ Website: caroltsy.com
------------------------------------------
Produce & Film By Carol Tsy
Music By
Bounce_Ball
Calypso_Beach_Walk
[关键字]
太平,Taiping, Spritzer EcoPark,太平景点,太平必去景点, STG Restaurant
socket概念 在 [Android]97.Socket概念和简单的TCP程序.mp4 - YouTube 的必吃
[Android]97. Socket概念 和简单的TCP程序.mp4. ... <看更多>