擅长:python、mysql、java
<p>
您可以使用<code>Packet.sprintf()</code>方法:</p>
<pre><code>>>> p = IP()/TCP(flags=18)
>>> p.sprintf('%TCP.flags%')
'SA'
</code></pre>
<p>如果你想要“长”的名字,用一个<code>dict</code>代替一个<code>if</code>…<code>elif</code>。。。表达式(<code>dict</code>通常在Python中使用,而在其他语言中则使用<code>switch</code>):</p>
<pre><code>>>> flags = {
'F': 'FIN',
'S': 'SYN',
'R': 'RST',
'P': 'PSH',
'A': 'ACK',
'U': 'URG',
'E': 'ECE',
'C': 'CWR',
}
>>> [flags[x] for x in p.sprintf('%TCP.flags%')]
['SYN', 'ACK']
</code></pre>