大家好,欢迎来到IT知识分享网。
解释
Tcpdump是基于Unix系统的命令行式的数据包嗅探工具
cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。cURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话,我直接用tcpdump了,因为我工作环境中的Linux一般只有字符界面,且一般而言Linux都自带的tcpdump,或者用tcpdump抓包以后用Wireshark打开分析
操作
在linux 中开启tcpdump监听,写入日志到目标文件夹
sudo tcpdump host www.baidu.com -w /tmp/tcpdump.log
在另外一个窗口使用curl 访问目标网址
ctrl+c 结束tcpdump 监听,共监听到17个包
使用wireshark打开tcpdump日志
以下三个数据包就是著名的TCP三次握手的数据包,其中58000是客户端的TCP端口,http的默认端口是80,如果tcpdump在/etc/services中发现端口对应的服务名称,那么会自动的转为名字,所以这里会显示为80。表示客户端的58000端口和服务器端的http端口进行TCP三次握手。
第一次握手:
客户端给服务端发一个 SYN 报文,(首部的同步位SYN=1初始序号seq=x ,x=0),(SYN=1的报文段不能携带数据)但要消耗掉一个序号,此时TCP客户进程进入SYN-SENT(同步已发送)状态
第二次握手
服务器收到客户端的 SYN 报文之后,由SYN=1得知客户端要求连接。想客户端发送SYN=1,ACK=1 的tcp报文。
在确认报文段中 SYN=1,ACK=1,确认号 ACK= x+1,初始序号 seq=y (y初始化为=0)
第三次握手
客户端收到ack=x+1的请求,检查标志位无误后,再次发送确认包:ACK=1 ,ack=y+1(y=0),seq=x+1
wireshark使用
如果你想要wireshark中出现本地接口的话,就需要下载一个winpcap的软件。
如果电脑是win10的话,可以去下面的网址下载winpcap。
Windows10的WinPcap下载
wireshark实用的过滤器表达式
#抓HTTP的请求
tcp.port == 80 || udp.port == 80
#抓某出站请求路径
http.host == "domain.com" and http.request.uri contains "/url/path"
#只抓请求返回
ip.src_host contains "realdomain.com" and http
IT知识分享网
过滤地址
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/7371.html