仅 scapy ICMP 显示 ( ttl )

scapy ICMP show ( ttl ) only

我正在尝试将 icmp 数据包发送到我网络中的一台机器,但我只需要显示 ttl

我使用的命令:q = sr1(IP(dst="192.168.1.8")/ICMP())

然后我运行:q.show2()

输出:

###[ IP ]### 
  version= 4
  ihl= 5
  tos= 0x0
  len= 28
  id= 8236
  flags= 
  frag= 0
  ttl= 128
  proto= icmp
  chksum= 0x9757
  src= 192.168.1.8
  dst= 192.168.1.5
  \options\
###[ ICMP ]### 
     type= echo-reply
     code= 0
     chksum= 0xffff
     id= 0x0
     seq= 0x0

如何只显示ttl!!

如果你想要一些高级格式,你可以使用:

q.sprintf("%IP.ttl%")

演示:

a = IP()
a.sprintf("%IP.ttl%")
'64' 

但您也可以只获取属性:

a = IP()
ttl = a[IP].ttl