二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 科技资讯 » 正文

一键抓取linux系统数据包.pcap并实时打印

放大字体  缩小字体 发布日期:2022-12-08 19:20:42    作者:尚薹晰    浏览次数:188
导读

说明:1、脚本功能:在window电脑端实时打印linux系统上抓取得数据包2、嵌入式linux系统抓包步骤:首先系统要支持tcpdump命令,若不支持需要交叉编译对应得tcpdump版本,然后ssh登陆linux系统搭建tcpdump环境,再输

说明:
1、脚本功能:在window电脑端实时打印linux系统上抓取得数据包
2、嵌入式linux系统抓包步骤:首先系统要支持tcpdump命令,若不支持需要交叉编译对应得tcpdump版本,然后ssh登陆linux系统搭建tcpdump环境,再输入相关得命令进行抓包。由于我得系统不支持tcpdump,每次需要登陆linux系统搭建tcpdump环境再使用相应命令抓包。为了每次抓包方便(只需感谢阅读一下即可完成以上操作)输出如下脚本
3、实现方式:
a、使用paramiko库连接登录linux系统
b、将tcpdump文件挂载至嵌入式linux系统(其它方式也可,只有有方法放入待测设备即可)
c、/mnt/tcpdump -nnvvveXX 过滤项(实时打印或保存至本地)

代码:

import paramikoimport time,reimport requestsimport jsondef getinfo(ip,keyword): user = "admin" password = "test1234" ssh = paramiko.SSHClient() know_host = paramiko.AutoAddPolicy() ssh.set_missing_host_key_policy(know_host) try: ssh.connect(hostname = "%s"%ip,port = 22,username = "%s"%user,password = "%s"%password, timeout=10) print ("IP:%s连接成功.."%ip) timestamp = time.strftime('%Y.%m.%d_%H:%M:%S',time.localtime()) print ("杀掉缓存进程") stdin,stdout,stderr = ssh.exec_command("pkill -9 tcpdump") print ("挂载") stdin,stdout,stderr = ssh.exec_command("mount -t nfs -o nolock,tcp 192.168.1.8:/share/test/tcpdump /mnt/") result = stdout.read().decode(errors='ignore').strip() print (result) time.sleep(2) print ("抓包") # tcpdump -nnvvveXX port 8090 指定端口抓包并打印屏幕上 # tcpdump -nnvvveXX host 120.55.157.69 # tcpdump -nnvvveXX tcp print ("----------------------------print pacp------------------------------") invoke = ssh.invoke_shell() invoke.send("/mnt/tcpdump -nnvvveXX %s \n"%keyword) while True: try: recv = invoke.recv(2048).decode() if recv: print ("================>") print(recv) else: continue except: command = input(">>>") + "\n" invoke.send("ls -l") ssh.close() except Exception as e: print ('设备%s连接异常:'%ip,e) err_info = "ip连接失败"if __name__ == '__main__': # 过滤选项:host 192.168.51.95 && port 5060 && tcp keyword = "port 22" ip = '192.168.0.18' getinfo(ip,keyword)

执行:

测试结果:

感谢阅读本文

 
(文/尚薹晰)
打赏
免责声明
• 
本文为尚薹晰原创作品•作者: 尚薹晰。欢迎转载,转载请注明原文出处:http://www.udxd.com/news/show-360172.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们邮件:weilaitui@qq.com。
 

Copyright©2015-2023 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈