linux tcpdump命令行执行后回显是一行一行输出的,但是如果用python的subprocess执行tcpdump命令就会成为一段一段的回显,实时性不高。这个怎么解决?有人说是tcpdump本身的原因,和linux缓存有关系,但是python有没有办法实现和命令行一行一行输出的效果。

代码如下

1

2

3

4

5

6

7

8

9

10#coding=utf-8

import subprocess

p = subprocess.Popen("tcpdump udp -i eth0",shell=True,stdout=subprocess.PIPE)

while p.stdout.readline()!=' ':

line = p.stdout.readline()

line = line.strip()

print line

你给的代码有bug 在这一行,while p.stdout.readline()!=’ ‘

改正如下!

1

2

3

4

5

6

7

8

9

10

11#coding=utf-8

import subprocess

p = subprocess.Popen("tcpdump udp -i eth0",shell=True,stdout=subprocess.PIPE)

while True:

line = p.stdout.readline()

line = line.strip()

if line == '':

break

print line

1

2

3

4

5#!/usr/bin/env python

import subprocess

subprocess.call("echo your_password | sudo -S tcpdump", shell=True)

tcpdump

1-l

选项

我也弄了这个, 用于被动启动某个端口服务!

1

2

3

4

5

6

7

8

9import subprocess as sub

# 注意参数-l很重要(行显)

# 在Mac上测试, 所以加了sudo

pipe = sub.Popen(['sudo', 'tcpdump', '-l', '-nn', '-i', 'lo0', 'dst portrange 200000-30000'], stdout=sub.PIPE)

while True:

for row in iter(p.stdout.readline, b''):

print(row)

python获取eth0_python实时获取tcpdump输出相关推荐

  1. python 调用pyautogui 实时获取鼠标的位置、移动鼠标

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务 本章介绍了许多不同函数,下面是快速的汇总参考: moveTo(x,y)将鼠 ...

  2. python利用danmu实时获取斗鱼等直播网站字幕

    danmu 是一个开源的直播平台弹幕接口 用python    pip install danmu # -*- coding: utf-8 -*-import time, sysfrom danmu ...

  3. python 标准输入设备,实时获取MIDI设备的输入(Python)

    I've got a trigger finger (MIDI tablet) and I want to be able to read its input live and make python ...

  4. python实时获取Android FPS

    python---实现实时获取Android FPS 1:如何计算FPS信息? 2:如何获取FPS信息? 3:python实现 fps实时获取和计算 使用adb shell dumpsys gfxin ...

  5. python 移动鼠标位置_python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务 本章介绍了许多不同函数,下面是快速的汇总参考: moveTo(x,y)将鼠 ...

  6. python实时获取子进程输出_Python 从subprocess运行的子进程中实时获取输出的例子...

    有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的.在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和 ...

  7. python获取子进程返回值_Python 从subprocess运行的子进程中实时获取输出的例子 Python如何抓取程序的输出?...

    关于python中用subprocess调用exe子进程的问题不懂我的人有什么资格对我指指点点,不了解我的人凭什么对我说三道四的. python杀死子进程后继续执行后面程序 程序a(python写成) ...

  8. python实时读取日志_paramiko使用tail实时获取服务器的日志输出详解

    基本思路 现在有这么一个需求需要实现自动化:需要实时获取服务器cpu,gpu温度以及传感器信息上报情况,对高低温环境下对于设备运行状态的影响进行测试.基本思路为利用paramiko ssh到服务器上, ...

  9. 帮我写一段能实时获取经纬度和具体地区的python代码

    你好,你可以使用 Python 的 geocoder 库来实现实时获取经纬度和具体地区的功能. 首先,你需要安装 geocoder 库,使用以下命令安装: pipinstall geocoder 然后 ...

  10. Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI

    现在NBA联赛也进行到半决赛了,我们怎么样才能以更快的方法获取NBA的数据呢?这里我们就自己来做一个数据播报的程序 文章目录 制作NBA数据爬虫 捋顺思路 编写代码 NBAReporter.py NB ...

最新文章

  1. windows7 端口查看以及杀死进程释放端口
  2. android好还是windows好,收银机操作系统哪种好?安卓系统与Windows系统区别?
  3. Java实例_综合实践3.K-Means聚类算法
  4. Android多线程源码学习笔记一:handler、looper、message、messageQueue
  5. JavaFX图表(六)之条形图
  6. jboss 配置上下文路径_为单个Web应用程序配置多个上下文根– JBoss
  7. 串口转换器的工作方式及通讯模式介绍
  8. Linux系统中Oracle数据库使用SELECT语句检索数据(1)实例应用
  9. 所有铣床行业调研报告 - 市场现状分析与发展前景预测
  10. 【JAVA基础知识总结】JAVA对象转型之上转型对象与下转型对象
  11. SDUT_经典线型DP
  12. vc2013 开发 winusb 简单测试程序 基于 nu_bridge
  13. 招财宝计算器android,招财宝收益计算器
  14. Python语言程序设计课程论文--飞机大战
  15. 如何开发微信小程序?(入门须知)
  16. 网络诊断请将以太网电缆插入计算机咋回事,总是提示网络电缆被拔出是怎么回事?...
  17. springboot实现微信小程序二维码生成
  18. [GKCTF 2021]excel 骚操作
  19. 当我谈跑步时我谈些什么
  20. 迁移mysql数据库报错_数据库迁移失败报错

热门文章

  1. 4: Consolidating Datasets ( Challenge: Data Munging Using The Command Line)
  2. sqool导出oracle数据
  3. 操作系统安装教程之图解Ubuntu Server 14.04安装
  4. linux定时执行脚本
  5. 如何在win7下如何创建虚拟磁盘
  6. 今天没发程序!HOHO!!!
  7. 谢旭升《操作系统教程》课后习题解答
  8. Install/Remove of the Service Denied
  9. KMP算法 next数组 nextval数组
  10. python数据库教程_python使用mysql操作教程