2017-03-04 207 views
0

我得到了一個表達式來指紋某些種類的IP數據包。 但我不知道該如何表達異或IP地址和端口號

的表達式如下解碼,

ip_id = ip_address XOR port_number XOR sequence_number 

如何獲得ip_id的價值? port_number和sequence_number是整數。所以它可以被異或。但是,我們如何才能XOR IP_address和一個整數?

在此先感謝 李蘇濱

+0

'ip_address'如果你想要的話也是一個整數,如果你想支持IPv6,會有點毛病,那麼你突然有一個128位整數來處理。 – harold

+0

@harold謝謝你的回覆。我如何將IP地址轉換爲整數? – user3020466

+0

首先取決於您使用的格式。通常它已經是一個整數。 – harold

回答

0

看一看功能INET_ATON和INET_NTOA。

這些函數與ntoa和aton類似,將字符串表示解析爲本機數據格式,反之亦然。

一個IP-ADRESS由4個字節:

aaa.bbb.ccc.ddd 

這使得總共4個字節,因此可以將它們結合爲1個單整數(這也是4個字節= 32位)。

+0

Ohh ..謝謝您的回覆。 – user3020466