| 208 | # ------------------------------------------------------------------ # |
| 209 | |
| 210 | def _build_cmd(self) -> List[str]: |
| 211 | port_filter = ' or '.join(f'tcp.port=={p}' for p in sorted(self.ports)) |
| 212 | return [ |
| 213 | 'sudo', self._tshark, '-i', self.interface, '-l', '-n', |
| 214 | '-Y', port_filter, |
| 215 | '-T', 'fields', '-E', 'separator=\t', |
| 216 | '-e', 'frame.time_epoch', |
| 217 | '-e', 'ip.src', '-e', 'ip.dst', |
| 218 | '-e', 'tcp.srcport', '-e', 'tcp.dstport', |
| 219 | '-e', 'tcp.payload', |
| 220 | ] |
| 221 | |
| 222 | def _capture_loop(self) -> None: |
| 223 | try: |