0

アソシエーション配列インデックスを IP として設定しようとしているので、それらがパケットで何回出現するかを追跡できます。

 log = {}
 if log[str(s_addr)] < 1:
     log[str(s_addr)] = 1
 else:
     log[str(s_addr)] += 1
     if log[str(s_addr)] > 100:
         data_salary = {
             'protocol' : str(protocol),
             'source_ip': str(s_addr),
             'dest_ip': str(d_addr),
             'source_port':str(source_port),
             'dest_port': str(dest_port)
         }
         cursor.execute(add_salary, data_salary)
         cnx.commit()
         print("Logged")

しかし、これは私に KeyError を与えています

これを行うより良い方法はありますか?

4

1 に答える 1

1

log[str(s_addr)]比較しようとしているときに定義されていないため、 KeyError が返されます。次のようなものを試してください:

log = {
  str(s_addr) : 0
}
if log[str(s_addr)] < 1:
    ...
于 2013-03-27T20:25:52.833 に答える