您现在的位置是:网站首页> 新闻快讯> 软件使用 新闻快讯

wireshark 中文版(wireshark中文版抓包)

小玉2023-07-05软件使用 195人已围观

简介【一天一个Linux运维知识点】--关注我,持续学习Linux运维技能!wireshark工具也许你在Windows下使用过wireshark这

wireshark 中文版(wireshark中文版抓包)

最后更新:2023-07-05 01:55:44

推荐指数

【一天一个Linux运维知识点】--关注我,持续学习Linux运维技能!wireshark工具也许你在Windows下使用过wireshark这个抓包工具,它的功能非常强大。在Linux平台我们同样也可以使用它,只不过是以命令行的形式。wireshark的具体选项阿铭不再详细介绍,在日常工作中,tcpdump其实就已经够我们使用了。下面的用法是阿铭在工作中使用比较多的,希望你能掌握这些用法。#tshark-n-ta-Rhttp.request-Tfields-e"frame.time"-e"ip.src"-e"http.host"-e"http.request.method"-e"http.request.uri"我们要执行的命令是tshark,你的CentOS默认是没有这个命令的,请使用如下命令安装:#yuminstall-ywireshark然后再看看上面的抓包命令tshark,这条命令用于Web服务器,可以显示如下信息:Jun26,202209:11:44.017592529CST"116.179.32.105ask.apelearn.comGET/question/96924473532这类似于Web访问日志。若服务器没有配置访问日志,可以临时使用该命令查看一下当前服务器上的Web请求。在这里要注意的是,如果你的机器上没有开启Web服务,是不会显示任何内容的。#tshark-n-ieth1-R'mysql.query'-Tfields-e"ip.src"-e"mysql.query"上面的命令会抓取eth1网卡mysql的查询都有哪些,不过这种方法仅仅适用于mysql的端口为3306的情况,如果不是3306,请使用下面的方法:#tshark-ieth1port3307 -dtcp.port==3307,mysql-z"proto,colinfo,mysql.query,mysql.query"  //这是一行命令,并非换行坑货,照着官方文档研究trino的多用户认证,竟是费了一番周折。我们是在做数据仓相关的产品,想通过trino做实时交互式分析查询,于是调研了一下trino的多用户、多权限的支持。trino的前身是presto,大概去年年底吧,从presto分离出来的,各种恩怨,大家自己去查吧。从官网看,trino要支持多用户的一个前提是先要支持https,而trino支持https有两种方式:1.trinoserver本身支持https;2.trinoserver的前面挂一个httpsproxy(参考自官网资料);我们的环境是kubernetes环境,里面有nginx提供https代理,自然而然就选择了第二种方式。结果就入到坑里去了,死活不通:提示403错误。想在client端使用wireshark抓包分析吧,因为是https,也没有证书,根本看不到通信细节。在trinopod里抓包吧,很不巧,这个pod不支持kubectlsniff抓包,太难了!!!后来只能分析加猜测,我发现trinocli报403错误的时候,trinoserver居然没有日志输出,这很不正常:稍微成熟一点的程序猿都不会犯这样的错误,一定是有别的原因,,,那就是403不是trino返回的,而是,,,外层的https代理返回的???这样解释就说得通了。虽然官网宣称可以通过httpsproxy支持https,但这是针对trinocli的,对于trinoserver,其实还是http(https转为http),所以本质上trinoserver还是不支持https。所以,解决的办法也很明显了,就是让trinoserver本身支持https!找到了问题的原因,解决就很简单了,自签https证书,然后配置到trinoserver和trinocli, 测试通过!奶奶的,解气。谈谈Kubernetes的Service注册发现以及Service访问全过程,分为三个部分:1.Service注册Pod发布的时候,kubelet负责创建Pod并把Pod的IP地址注册到Apiserver(最终会保存到Etcd,详情请参专栏“2.1Kuberneteslist-watch原理和wireshark抓包验证”一节);Service发布的时候,Kubernetes会为Service分配ClusterIP,并把ServiceName和ClusterIP的对应关系记录到Etcd里,同时也会记录ClusterIP和PodIP的对应关系2.服务发现和负载均衡每个Kuberntes节点上都运行Kube-Proxy组件,Kube-Proxy组件会监听Apiserver,并得到Service的ClusterIP和PodIP的映射列表。得到ClusterIP和PodIP的映射列表之后,通过负载均衡算法就可以得到某一个PodIP。3.访问Service通过2这一步骤,在Kuberntes内部访问某个Service的过程,最后就变成了访问某一个PodIP的过程,而Kubernetes里任何Pod之间都是可以通信的(请参考专栏“6.3.4K8SFlannel实现不同Node的Pod和Pod之间通信的细节”一节)。考虑到Kubernetes集群里复杂的网络环境,Pod和Pod之间的通信还使用到了Linuxiptables的机制,请参考“6.4.2为什么访问任何一个node的port都可以访问到k8d的相应的service?”一节。通过以上三步的分析,最终我们就可以访问到某个Service的服务了。五一特价,【最后一天】。小简感谢大家的一贯支持:凡【4.23~5.1】期间订阅本专栏,前【30】名用户可享79元特价。5月1号之后恢复原价99元。#程序员##Kubernetes##运维##IT##Docker##我要上头条#

很赞哦! (0)

文章评论

来说两句吧...

验证码: