[爆卦]payload封包是什麼?優點缺點精華區懶人包

為什麼這篇payload封包鄉民發文收入到精華區:因為在payload封包這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者acidradix ()看板C_and_CPP標題[問題] 位址儲存至陣列問題時間Thu May...




請問各位神人..

我已經寫好一個判斷網路封包內容位址的程式

比如:

.
.
.
case 128: // 0x80 = 128
packet_type = 6; // Beacon frame:0x80
break;
.
.

if(packet_type==3&&i==1&&j==9) //代表Beacon封包的第1列第9個位址
if(*Payload==00) //如果此位址為0x00
printf("Receive a xxxx frame"); //代表收到何種特徵的frme



請問如何將此位址(i==1&&j==9)丟入陣列中

並且比對第一個接收到的位址與第二個接收到的位址,相差30以上


如果相差30以上 count ++ count > 100發出警告

依此列推...


我主要是想不出來如何將位址丟入陣列中

初略的想法只有:

A[0] = *Payload

A[1] = *Payload


在此先感謝各位的回答 :)












--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.174
LPH66:位址?你想存的到底是什麼東西? 05/13 08:49
acidradix:阿 不好意思沒有說明清楚 05/13 08:52
acidradix:i==1&&j==9 為判斷封包位址,它是16進位 05/13 08:53
acidradix:if(*Payload==00) 代表如果此位址為0x00 05/13 08:53
acidradix:我要把擷取的第一個封包位址儲存成陣列,與第個二封包比 05/13 08:54
acidradix:所以可能要把儲存在陣列的16進位轉成int型式 05/13 08:55
acidradix:才能相減 05/13 08:55
acidradix:比如第一個擷取到的位址為 0x40 轉為int就是64 05/13 08:56
acidradix:第二個擷取到的位址為0x80,int 就為128 05/13 08:57
acidradix:然後128-64 = 64 ,差距在30以上,故不理會 05/13 08:58
acidradix:阿~上面打錯 差距30以上 故count ++ ^^" 05/13 09:15
VictorTom:十進位還是十六進位只有在顯示或你打字的時候有差, 05/13 09:30
VictorTom:對電腦來說0x40就是64, 根本不用做什麼轉換.... 05/13 09:30
VictorTom:所以你要存的是*Payload?? 而且只要比前一個?? 那好像不 05/13 09:31
VictorTom:用array, 開一個變數叫previous, 型態與 (*Payload) 相 05/13 09:31
VictorTom:同即可; Ex: 假如Payload為int *, 那讀完Payload以後, 05/13 09:32
VictorTom:previous = *Payload; 就存下來了, 之後在合適處比對就 05/13 09:33
VictorTom:好. 當然, 先前 int previous = ??; // ??要給合適初值. 05/13 09:33
acidradix:感謝Vi大的回答 ^_^ 05/13 10:09

你可能也想看看

搜尋相關網站