Ejemplo n.º 1
0
    def __init__(self, master):
        ttk.LabelFrame.__init__(self, master, text="使用プロトコル")

        # プロトコルリスト
        radio_item = {
            'proto_tcp': {
                'text': "TCP",
                'value': 0
            },
            'proto_udp': {
                'text': "UDP",
                'value': 1
            },
            # originalは使わなさそうなので除外
            # 'proto_org': {'text': "Original", 'value': 2},
            'proto_icmp': {
                'text': "ICMP",
                'value': 3
            },
        }

        for key, val in radio_item.items():
            item = ttk.Radiobutton(self, text=val['text'], value=val['value'])
            item.configure(variable=TxController.SendParams().proto)
            item.configure(command=TxController.ChangeProtocol(
                TxController.SendParams().proto, txWidgets['srcport'],
                txWidgets['dstport']))
            item.pack(side=tk.LEFT, padx=8)
            txWidgets[key] = item
Ejemplo n.º 2
0
    def __init__(self, master):
        ttk.LabelFrame.__init__(self, master, text="送信モニター")

        # 送信数/秒
        mon_pps = Common.LabelReadonlyEntry(self, text="送信数/秒", width=7)
        mon_pps.Entry.configure(textvariable=TxController.MonitorParams().pps)

        # データ長(Byte)
        mon_datalen = Common.LabelReadonlyEntry(self,
                                                text="データ長(Byte)",
                                                width=6)
        mon_datalen.Entry.configure(
            textvariable=TxController.MonitorParams().datalen)

        # bps換算
        mon_bps = Common.LabelReadonlyEntry(self, text="bps換算", width=9)
        mon_bps.Entry.configure(textvariable=TxController.MonitorParams().bps)

        # 送信元ポート
        mon_srcport = Common.LabelReadonlyEntry(self, text="送信元ポート", width=6)
        mon_srcport.Entry.configure(
            textvariable=TxController.MonitorParams().srcport)

        # 表示設定
        mon_pps.grid(row=0, column=0)
        mon_datalen.grid(row=0, column=1)
        mon_bps.grid(row=0, column=2)
Ejemplo n.º 3
0
    def __init__(self, master):
        ttk.Frame.__init__(self, master)

        # 送信ボタン
        button = ttk.Button(self)
        button.configure(textvariable=TxController.MonitorParams().send_btn)
        button.configure(command=TxController.SendAction(widgets=txWidgets))
        button.pack(side=tk.LEFT, ipady=5)
Ejemplo n.º 4
0
    def __init__(self, master):
        ttk.LabelFrame.__init__(self, master, text="送信元設定")

        # IPアドレス
        # TODO: 送信元IPアドレス設定は将来検討
        # ipframe = ttk.Frame(self)
        # ipframe.pack(anchor=tk.E)
        # ttk.Label(ipframe, text="IPアドレス").pack(side=tk.LEFT)
        # address_list = HachiUtil.LocalAddress().get()
        # srcip = ttk.Combobox(ipframe, width=21, values=address_list)
        # srcip.configure(textvariable=TxController.SendParams().srcaddr.ip)
        # TxController.SendParams().srcaddr.ip.set(address_list[0])
        # # IPアドレスをコピーできるようにするため、ROにしない
        # # srcip.state(['readonly'])
        # srcip.pack(anchor=tk.E)
        # txWidgets['srcip'] = srcip
        srcip = Common.LabelEntry(self, text="IPアドレス", width=23)
        srcip.Entry.insert(0, "設定できません")
        srcip.Entry.state(['disabled'])
        srcip.pack(anchor=tk.E)
        txWidgets['srcip'] = srcip

        # ポート番号
        srcport = Common.LabelEntry(self, text="ポート番号", width=23)
        srcport.Entry.configure(
            textvariable=TxController.SendParams().srcaddr.port)
        srcport.pack(anchor=tk.E)
        txWidgets['srcport'] = srcport.Entry
Ejemplo n.º 5
0
    def __init__(self, master):
        ttk.LabelFrame.__init__(self, master, text="送信先設定")

        # IPアドレス
        dstip = Common.LabelEntry(self, text="IPアドレス", width=23)
        dstip.Entry.configure(
            textvariable=TxController.SendParams().dstaddr.ip)
        dstip.pack(anchor=tk.E)
        txWidgets['dstip'] = dstip.Entry

        # ポート番号
        dstport = Common.LabelEntry(self, text="ポート番号", width=23)
        dstport.Entry.configure(
            textvariable=TxController.SendParams().dstaddr.port)
        dstport.pack(anchor=tk.E)
        txWidgets['dstport'] = dstport.Entry
Ejemplo n.º 6
0
    def run(self):

        try:
            # TCPコネクション生成
            self.sock.connect(self.dstaddr_list[0])
            # # 送信元ポート通知
            # self.srcport.set(self.sock.getsockname()[1])

            # 最高速の処理を軽くするため処理を分ける
            if self.unlimited:
                self._send_u()
            else:
                self._send()
        except Exception as e:
            TxController.tcp_exception(e)
        finally:
            self.sock.close()
Ejemplo n.º 7
0
    def __init__(self, master):
        ttk.Frame.__init__(self, master)

        # 注意書き
        ttk.Label(self,
                  text="※ カンマ(,)区切りで複数指定\n※ ハイフン(-)で範囲指定").pack(anchor=tk.E)

        # データ長
        param_datalen = Common.LabelEntry(self, text="データ長", width=6)
        param_datalen.pack(side=tk.LEFT, padx=5)
        param_datalen.Entry.configure(
            textvariable=TxController.SendParams().datalen)
        txWidgets['param_datalen'] = param_datalen.Entry

        # 送信パケット数/秒
        param_pps = Common.LabelEntry(self, text="送信パケット数/秒", width=6)
        param_pps.pack(side=tk.LEFT, padx=5)
        param_pps.Entry.configure(textvariable=TxController.SendParams().pps)
        txWidgets['param_pps'] = param_pps.Entry

        # 最高速
        param_unlimited = ttk.Checkbutton(self, text='最高速')
        param_unlimited.pack(side=tk.LEFT, padx=5)
        param_unlimited.configure(command=TxController.CheckUnlimited(
            TxController.SendParams().unlimited, txWidgets['param_pps']))
        param_unlimited.configure(variable=TxController.SendParams().unlimited)
        txWidgets['param_unlimited'] = param_unlimited

        # 送信速度の目安
        ttk.Label(self, text="bps目安:").pack(side=tk.LEFT)
        param_bps = ttk.Label(self, textvariable=TxController.SendParams().bps)
        param_bps.pack(side=tk.LEFT, padx=5)