TCPDUMP

Linux服务器下的HTTP抓包分析

不打扰是莪最后的温柔 提交于 2019-11-29 16:57:39
说到抓包分析,最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了,但是有时候由于客户端开发人员(可能是第三方)知识欠缺或者其它一些原因,无法顺利的在客户端进行抓包分析,这种情况下怎么办呢? 本文中,我们将给大家介绍在服务端进行抓包分析的方法,使用tcpdump抓包,配合Wireshark对HTTP请求进行分析,非常简单有效。 本文将会持续修正和更新,最新内容请参考我的 GITHUB 上的 程序猿成长计划 项目,欢迎 Star,更多精彩内容请 follow me 。 使用tcpdump在服务器抓包 在服务端进行抓包分析,使用tcpdump tcpdump -tttt -s0 -X -vv tcp port 8080 -w captcha.cap 这里的参数是这样的 -tttt 输出最大程度可读的时间戳 -s0 指定每一个包捕获的长度,单位是byte,使用-s0可以捕获整个包的内容 -X 以hex和ASCII两种形式显示包的内容 -vv 显示更加多的包信息 tcp 指我们只捕获tcp流量 port 8080 指我们只捕获端口8080的流量 -w captcha.cap 指定捕获的流量结果输出到captcha.cap文件,便于分析使用 关于tcpdump更加高级的用法,可以参考 tcpdump简明教程 上述命令会保持运行,并将结果输出到 captcha.cap

浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析

烈酒焚心 提交于 2019-11-29 16:57:26
本文主要介绍如何使用tcpdump和wireshark对Android应用程序进行抓包并分析,需要说明的是在抓包之前,你的Android设备必须root过了,另外你的电脑必须有Android SDK环境。 下载并安装tcpdump tcpdump链接:http://www.ijiami.cn/ 选择一个版本下载并解压提取出其中呃tcpdump文件,然后push到你的手机上去: adb push c:\tcpdump /data/local/tcpdump 进一步操作: adb shell su chmod +x /data/local/tcpdump 然后就可以开始抓包了: /data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap 这时你可以操作应用程序相应的操作了,抓包完毕后ctrl+c停止抓包。 然后将抓到pcap文件传输本地开始进行分析了,这里假设你pull到c盘目录下。 adb pull /sdcard/capture.pcap c:/ 使用wireshark分析抓包数据 pc上安装wireshark wireshark下载:http://www.ijiami.cn/treg 如果安装完毕,就可以直接打刚才的pcap文件了。 使用过滤器filter 如果抓到的东西过多,可以使用上方的过滤器,比如我只看http协议

Is there any way to put Android WIFI (droid handset) into promiscuous monitoring mode?

懵懂的女人 提交于 2019-11-29 03:31:40
问题 For a Computer Science Information Warfare class a few years ago I wrote a python script that ran on libpcap promiscuous packet capture files to parse out facebook chat traffic (earlang tuples passed in clear text), and thought an interesting project would be to port the program to Android. I would like to rewrite it in Java but can't find any information about packet capturing directly on the handset. 回答1: As far as I'm aware, there is no way to put the Wifi NIC into monitoring mode from the

【Linux】性能监控和调试

柔情痞子 提交于 2019-11-29 02:45:50
[TOC] 题记 对于每个互联网研发人员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作。 为此,我们总结了非常有用的并且最常用的20个命令行系统监视工具。这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因。这些监控命令足够你选择适合你的监控场景。 # 1.top — Linux 系统进程监控 top 命令是性能监控程序,它可以在很多 Linux/Unix 版本下使用,并且它也是 Linux 系统管理员经常使用的监控系统性能的工具。Top 命令可以定期显示所有正在运行和实际运行并且更新到列表中,它显示出 CPU 的使用、内存的使用、交换内存、缓存大小、缓冲区大小、过程控制、用户和更多命令。它也会显示内存和 CPU 使用率过高的正在运行的进程。当我们对 Linux 系统需要去监控和采取正确的行动时,top 命令对于系统管理员是非常有用的。让我们看下 top 命令的实际操作。 # 2. vmstat — 虚拟内存统计 vmstat 命令是用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 模块、中断、CPU 活跃状态等更多信息。在默认的情况下,Linux 系统是没有 vmstat 这个命令的,如果你要使用它,必须安装一个包名叫 sysstat 的程序包。命令格式常用用法如下: # vmstat procs -----------memory--

Client sends delayed FIN ACK (~500ms) to server

独自空忆成欢 提交于 2019-11-29 01:30:25
问题 I have a node.js client (10.177.62.7) requesting some data from http rest service from server (10.177.0.1). Client is simply using node.js http.request() method (agent=false). Client is on Ubuntu 11.10 box. Why client sends FIN ACK after 475ms? Why so slow? He should send FIN ACK immediately. I have many situations like this. About 1% of whole traffic is request with delayed FIN ACK. Cpu idle on the client is about 99%, so nothing is draining CPU. How to debug this? What could it be? Is there

运维网络运维③

醉酒当歌 提交于 2019-11-29 00:48:02
9:dns解析流程 dns:domain name system域名系统 百度:111.13.100.92 腾讯:199.22.22.22 网易:123.55.22.66 .. . .. . dns服务器:把域名解析成ip地址 域名:baidu.com dns服务器:baidu.com 119.22.22.22 dns服务:udp 53端口 ssh服务:tcp 22端口 http服务:tcp 80端口 能上qq,打不开网站,一定是dns问题(你的电脑中毒了) 描述:打开浏览器输入www.oldboyedu.com地址之后回车,网站的打开流程? 1)把www.oldboyedu.com解析成公网ip地址 2)浏览器使用它的公网ip访问www.oldboyedu.com的网站服务器 dns记录的类型: qstack.com A ip地址 CNAME 把你的域名解析到另一个域名 为网站添加cdn MX 解析邮箱地址 NS dns.qstack.com NS == name server 授权dns dns.qstack.com 111.222.22.33 www.qstack.com blog,qstak.com 296917342@qq.com dns的命令 dig dig @223.5.5.5 www.baidu.com +trace dig www.baidu.com

tcpdump网络调试

こ雲淡風輕ζ 提交于 2019-11-29 00:25:36
简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例 默认启动 tcpdump 普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。 监视指定网络接口的数据包 tcpdump -i eth1 如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。  监视指定主机的数据包 打印所有进入或离开sundown的数据包. tcpdump host sundown 也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包 tcpdump host 210.27.48.1 打印helios 与 hot 或者与 ace 之间通信的数据包 tcpdump host helios and \( hot or ace \) 截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信 tcpdump host 210.27.48.1 and \ (210.27.48.2 or

30.监控io free ps 查看网络状态 抓包

。_饼干妹妹 提交于 2019-11-29 00:20:43
10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 扩展tcp三次握手四次挥手 http://www.doc88.com/p-9913773324388.html 三次握手要查看,面试会被问到 tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html 10.10 linux下抓包 10.6 监控io性能: 如果我们cpu和内存明明还有剩余,但是系统就是负载很高。用vmstat的查看发现b列或者wa列比较大。那是不是说明我们磁盘有瓶颈,那我们就要更详细的查看磁盘的状态 我们在安装sysstat的时候,就会安装上iostat这个命令。instat和sar属于同一个包 我们直接敲iostat就可以查看,或者敲instat 1(iostat 1 10)来查看读写,跟sar -b的结果差不多 我们需要掌握的是: ~1. iostat -x 1 主要查看 %util。他首先是一个百分比。 &util这一列表示你的io 等待,总之就是你这个磁盘使用有多少时间,就是说占用cpu的。那么我们这个cpu有一部分是给进程处理的、计算的。那也有一部分时间是要等待io的,等待磁盘读写,要把这个数据读出来,数据的读写也要等待的吧。那么这个时间比是多少。就是我等待你的时间比是多少,就是%util

网站故障排查常用命令

怎甘沉沦 提交于 2019-11-29 00:19:26
1.查看TCP连接状态 1 2 3 4 5 6 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}' netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}' netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c 2.查找请求数请20个IP(常用于查找攻来源): 1 2 netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20 netstat -ant |awk '/:80/

tcpdump中文帮助

◇◆丶佛笑我妖孽 提交于 2019-11-28 23:37:52
TCPDUMP(8) System Manager's Manual TCPDUMP(8) NAME tcpdump - 转储网络上的数据流 总览 (SYNOPSIS) tcpdump [ -adeflnNOpqStvx ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ expression ] 描述 (DESCRIPTION) Tcpdump 打印出 在某个 网络界面 上, 匹配 布尔表达式 expression 的报文 的 报头. 对于 SunOS 的 nit 或 bpf 界面: 要 运行 tcpdump , 你 必须 有 /dev/nit 或 /dev/bpf* 的 读访问 权限. 对于 Solaris 的 dlpi: 你 必须 有 网络仿真设备 (network pseudo device), 如 /dev/le 的 读访问 权限. 对于 HP-UX 的 dlpi: 你 必须 是 root, 或者 把它 安装成 root 的 设置uid 程序. 对于 IRIX 的 snoop: 你 必须 是 root, 或者 把它 安装成 root 的 设置uid 程序. 对于 Linux: 你 必须 是 root, 或者 把它 安装成 root