最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python調(diào)用tcpdump抓包過濾的方法

 更新時間:2018年07月18日 09:04:24   作者:wangqiuyun  
這篇文章主要為大家詳細(xì)介紹了python調(diào)用tcpdump抓包過濾的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python調(diào)用tcpdump抓包過濾的具體代碼,供大家參考,具體內(nèi)容如下

之前在linux用python腳本寫一個抓包分析小工具,實在不想用什么libpcap、pypcap所以,簡單來了個tcpdump加grep搞定。基本思路是分別起tcpdump和grep兩個進程,進程直接通過pipe交換數(shù)據(jù),簡單代碼如下:

#! /usr/bin/python
 
def tcpdump():
 import subprocess, fcntl, os
 # sudo tcpdump -i eth0 -n -s 0 -w - | grep -a -o -E "Host: .*|GET /.*"
 cmd1 = ['tcpdump', '-i', 'eth0', '-n','-B', '4096','-s', '0', '-w', '-']
 cmd2 = ['grep', '--line-buffered', '-a', '-o', '-E', 'Host: .*|GET /.*']
 p1 = subprocess.Popen(cmd1, stdout=subprocess.PIPE)
 p2 = subprocess.Popen(cmd2, stdout=subprocess.PIPE, stdin=p1.stdout)
 
 flags = fcntl.fcntl(p2.stdout.fileno(), fcntl.F_GETFL)
 fcntl.fcntl(p2.stdout.fileno(), fcntl.F_SETFL, (flags | os.O_NDELAY | os.O_NONBLOCK))
 return p2
 
 
def poll_tcpdump(proc):
 #print 'poll_tcpdump....'
 import select
 txt = None
 while True:
 # wait 1/10 second 
 readReady, _, _ = select.select([proc.stdout.fileno()], [], [], 0.1)
 if not len(readReady):
  break
 try:
  for line in iter(proc.stdout.readline, ""):
  if txt is None:
   txt = ''
  txt += line
 except IOError:
  print 'data empty...'
  pass
 break
 return txt
 
 
proc = tcpdump()
while True:
 text = poll_tcpdump(proc)
 if text:
 print '>>>> ' + text

運行效果:


其中值得注意tcpdump中'-B', '4096'這個參數(shù),官方文檔貌似沒有明確提及,但是它是你解決丟包的關(guān)鍵地方之一,當(dāng)然還有-s這個參數(shù)也得好好利用!其他的大家可以自由發(fā)揮!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python使用random.shuffle()隨機打亂字典排序

    Python使用random.shuffle()隨機打亂字典排序

    本文主要介紹了Python使用random.shuffle()隨機打亂字典排序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • python繪制風(fēng)場方向和大小quiver問題

    python繪制風(fēng)場方向和大小quiver問題

    這篇文章主要介紹了python繪制風(fēng)場方向和大小quiver問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Windows下PyCharm配置Anaconda環(huán)境(超詳細(xì)教程)

    Windows下PyCharm配置Anaconda環(huán)境(超詳細(xì)教程)

    這篇文章主要介紹了Windows下PyCharm配置Anaconda環(huán)境,本文給大家分享一篇超詳細(xì)教程,通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • python3.12.7降級到3.10.0的方法步驟

    python3.12.7降級到3.10.0的方法步驟

    本文主要介紹了python3.12.7降級到3.10.0的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 使用Python操作MySQL的一些基本方法

    使用Python操作MySQL的一些基本方法

    這篇文章主要介紹了使用Python操作MySQL的一些基本方法,Python+MySQL也是服務(wù)器端快速開發(fā)的一種絕佳搭配方案,需要的朋友可以參考下
    2015-08-08
  • python讀取txt文件并逐行輸出字符串

    python讀取txt文件并逐行輸出字符串

    Python提供了簡單且方便的方法來讀取txt文件,使用open()函數(shù)和readlines()方法逐行輸出文件中的字符串內(nèi)容,我們可以輕松地讀取文件內(nèi)容,并通過循環(huán)遍歷的方式逐行處理,讀取txt文件的方法在各種應(yīng)用場景中非常常見,可以用于數(shù)據(jù)分析、文本處理、日志分析等
    2023-10-10
  • pygame實現(xiàn)時鐘效果

    pygame實現(xiàn)時鐘效果

    這篇文章主要為大家詳細(xì)介紹了pygame實現(xiàn)時鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python簡單實現(xiàn)兩個任意字符串乘積的方法示例

    Python簡單實現(xiàn)兩個任意字符串乘積的方法示例

    這篇文章主要介紹了Python簡單實現(xiàn)兩個任意字符串乘積的方法,結(jié)合實例形式分析了Python針對字符串、列表的切片、轉(zhuǎn)換、遍歷等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Python字符串的encode與decode研究心得亂碼問題解決方法

    Python字符串的encode與decode研究心得亂碼問題解決方法

    為什么Python使用過程中會出現(xiàn)各式各樣的亂碼問題,明明是中文字符卻顯示成“\xe4\xb8\xad\xe6\x96\x87”的形式?
    2009-03-03
  • Python 不同對象比較大小示例探討

    Python 不同對象比較大小示例探討

    不同對象比較是按照 type names 比較,當(dāng)相同類型對象不支持適當(dāng)比較的時候,采用 address 比較,需要的朋友可以參考下
    2014-08-08

最新評論

乌鲁木齐县| 玉溪市| 苗栗市| 庆城县| 车致| 宜兰市| 康定县| 东辽县| 宕昌县| 南城县| 漳浦县| 新和县| 永泰县| 喜德县| 无极县| 景谷| 四会市| 龙井市| 萨嘎县| 会泽县| 陵水| 攀枝花市| 娱乐| 白银市| 东光县| 香港| 苍梧县| 绥中县| 甘谷县| 江口县| 天台县| 隆化县| 佛冈县| 洞口县| 和平区| 广州市| 安陆市| 同仁县| 孙吴县| 巴中市| 辛集市|