擅长:python、mysql、java
<p>通常,处理标志的常用方法是使用位图和按位运算符。如果您的<code>Packet</code>类没有特定的方法来测试标志,那么最好的做法是:</p>
<pre><code>FIN = 0x01
SYN = 0x02
RST = 0x04
PSH = 0x08
ACK = 0x10
URG = 0x20
ECE = 0x40
CWR = 0x80
</code></pre>
<p>像这样测试它们:</p>
<pre><code>F = p['TCP'].flags # this should give you an integer
if F & FIN:
# FIN flag activated
if F & SYN:
# SYN flag activated
# rest of the flags here
</code></pre>
<p>遗憾的是,python没有一个<code>switch</code>语句来使这个更加优雅,但这并不重要。</p>
<p>希望这有帮助!</p>