我正在製作一個創建RAW套接字以讀取所有流量的程序。在socket()和recvfrom()之間調用(最後一個是在一個循環中從緩衝區中取出所有數據包),我等了5秒鐘。 當我運行這個程序時,我發送了大約200個帶有hping3命令的數據包,以「更快的模式」(快速填充緩衝區)到我的程序中。只要5s過去了,我的程序就會從緩衝區中提取大約150個數據包。 我嘗試改變接收緩衝區的大小,以獲得更好的結果: i
的我無法做出如何以及爲什麼下面的代碼段工作的意義: /* Now lets try to set the send buffer size to 5000 bytes */
size = 5000;
err = setsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, &size, sizeof(int));
if (err != 0) {