WireShark命令行工具tshark详解

前言

①在Linux操作系统下,当我们需要抓取网络数据包分析的时候,通常使用tcpdump抓取网络raw数据包后存到一个文件中,然后在本地使用wireshark界面网络分析工具进行网络包分析。

②tshark是WireShark网络抓包工具的命令行工具,能够无缝的融入Linux/Windows脚本语言,使嗅探、分析网络协议的工作变得容易。








 

复制代码
def capture_backgroud_by_time(pcap_name=None, time=20, filter=None, ifname=None):
    """
    本地PC上后台开启抓包
    :param ifname: 
    :param pcap_name:
    :param time:
    :param filter:
    """
    pcap_path = os.path.join(os.path.abspath('.'), 'log', 'pcap')
    if pcap_name == None:
        pcap_name = CommonGlobalVars.CASE_METHOD_NAME
    name = os.path.join(pcap_path, pcap_name + '.pcap')
    password = ini.get_option_data('pc_info', 'pc_user_pwd')
    if not ifname:
        ifname = ini.get_option_data('pc_info', 'pc_eth')
    if not os.path.exists(pcap_path):
        os.makedirs(pcap_path)
    if CommonGlobalVars.PC_SYSTEM == 'linux':
        command = 'sudo chmod -R 777 ' + pcap_path
        run_sudo_command(command)
        command1 = 'echo {} | sudo -S tshark -i {} -a duration:{} -w "{}" -B 10 &'.format(
            password, ifname, time, name)
        if filter:
            command1 = 'echo {} | sudo -S tshark -i {} -f "{}" -a duration:{} -w "{}" -B 10 &'.format(
                password, ifname, filter, time, name)
            logger.debug(command1)
        os.system(command1)
    elif 'win' in CommonGlobalVars.PC_SYSTEM:
        t = threading.Thread(target=capture_by_time_win, args=(pcap_name, time, filter))
        t.start()
    return name
复制代码

 

 

参考链接:

https://blog.csdn.net/weixin_44288604/article/details/123807294

https://blog.csdn.net/weixin_41468462/article/details/112645347

https://blog.csdn.net/u012206617/article/details/86013485

posted @   习久性成  阅读(930)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2021-11-10 python之unicodedata用法
点击右上角即可分享
微信分享提示