`
wankunde
  • 浏览: 162837 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Web服务器:Linux下抓包工具tcpdump使用

 
阅读更多

1.第一种是关于类型的关键字主要包括host,net,port

 

例如: host host 10.10.10.12,指明host 10.10.10.12是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 80 指明端口号是80。如果没有指定类型,缺省的类型是host.

[root@platform_c ~]# tcpdump  host 10.10.10.12 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:47:54.338648 IP 10.10.10.12 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 90, authtype simple, intvl 1s, length 20
14:47:55.339591 IP 10.10.10.12 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 90, authtype simple, intvl 1s, length 20
14:47:55.460784 IP 10.10.10.17.5540 > 10.10.10.12.scp-config: P 990305450:990305578(128) ack 3936126663 win 10281 <nop,nop,timestamp 128715924 4061149870>
14:47:55.461037 IP 10.10.10.12.scp-config > 10.10.10.17.5540: P 1:134(133) ack 128 win 10285 <nop,nop,timestamp 4061151871 128715924>
14:47:55.461090 IP 10.10.10.17.5540 > 10.10.10.12.scp-config: . ack 134 win 10281 <nop,nop,timestamp 128715924 4061151871>
14:47:56.340551 IP 10.10.10.12 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 90, authtype simple, intvl 1s, length 20
14:47:56.682367 arp who-has 10.10.10.12 tell 10.10.10.89
14:47:57.341512 IP 10.10.10.12 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 90, authtype simple, intvl 1s, length 20
14:47:57.461844 IP 10.10.10.17.5540 > 10.10.10.12.scp-config: P 128:256(128) ack 134 win 10281 <nop,nop,timestamp 128717925 40611518

 

2.第二种是确定传输方向的关键字主要包括src , dst ,dst or src, dst and src

这些关键字指明了传输的方向,例如:src 10.10.10.12,指明ip包中源地址是10.10.10.12, dst net 202.0.0.0 指明目的网络地址是202.0.0.0。如果没有指明方向关键字,则缺省是src or dst关键字。

[root@platform_c ~]# tcpdump  src 10.10.10.12 -n     
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:50:48.504155 IP 10.10.10.12 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 90, authtype simple, intvl 1s, length 20
14:50:49.132905 IP 10.10.10.12.21002 > 10.10.10.17.20742: P 1000890141:1000890152(11) ack 1991025729 win 2998
14:50:49.134210 IP 10.10.10.12.21002 > 10.10.10.17.20742: P 11:862(851) ack 209 win 3108
14:50:49.135543 IP 10.10.10.12.21002 > 10.10.10.17.20742: P 862:873(11) ack 230 win 3108
14:50:49.504790 IP 10.10.10.12 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 90, authtype simple, intvl 1s, length 20
14:50:49.548064 IP 10.10.10.12.scp-config > 10.10.10.17.5540: P 3936138234:3936138367(133) ack 990316714 win 10285 <nop,nop,timestamp 4061325974 128890011>
14:50:50.505743 IP 10.10.10.12 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 90, authtype simple, intvl 1s, length 20


3.第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。

Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

 

[root@platform_c ~]# tcpdump  tcp  port 80 -n                    
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:48:51.852424 IP 10.10.10.12.20278 > 10.10.10.17.http: S 1416876662:1416876662(0) win 14600 <mss 1460,nop,nop,sackOK,nop,wscale 4>
14:48:51.852447 IP 10.10.10.17.http > 10.10.10.12.20278: S 1206855618:1206855618(0) ack 1416876663 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 4>
14:48:51.852568 IP 10.10.10.12.20278 > 10.10.10.17.http: . ack 1 win 913
14:48:51.852590 IP 10.10.10.12.20278 > 10.10.10.17.http: R 1:1(0) ack 1 win 913

 

除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是'not ' ,'! ',与运算是'and','&&';或运算 是'or','││';这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。

 

[root@platform_c ~]# tcpdump  src 10.10.10.12  and dst 10.10.10.17 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:51:45.867526 IP 10.10.10.12.20336 > 10.10.10.17.http: S 492616728:492616728(0) win 14600 <mss 1460,nop,nop,sackOK,nop,wscale 4>
14:51:45.867663 IP 10.10.10.12.20336 > 10.10.10.17.http: 

 

A. tcpdump –i eth0 –c 10

使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,
使用-c参数指定要监听的数据包数量,
使用-w参数指定将监听到的数据包写入文件中保存

 

 

B.想要截获主机172.16.14.107和主机172.16.14.27或172.16.14.99的通信,使用命令:(在命令行中使用括号时,一定要用’/’
tcpdump host 172.16.14.107 and / (172.16.14.27or172.16.14.99 /)

 

C.如果想要获取主机172.16.14.107除了和主机172.16.14.27之外所有主机通信的ip包,使用命令:
tcpdump ip host 172.16.14.107 and ! 172.16.14.27


D.如果想要获取主机172.16.14.107接收或发出的telnet包,使用如下命令:
tcpdump tcp port 23 host 172.16.14.107


E.对本机的udp 123 端口进行监视 (123 为ntp的服务端口)
tcpdump udp port 123


F.系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据: 
tcpdump -i eth0 src host hostname


G.下面的命令可以监视所有送到主机hostname的数据包: 
tcpdump -i eth0 dst host hostname

#src表示源,即发送

#dst表示目的地,即接收


H.我们还可以监视通过指定网关的数据包: 
tcpdump -i eth0 gateway Gatewayname


I.如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令: 
tcpdump -i eth0 host hostname and port 80


J.如果想要获取主机172.16.14.107接收或发出的telnet包,使用如下命令:
tcpdump tcp port 23 host 172.16.14.107

 

K. 如果我们只需要列出送到80端口的数据包,用dst port 80;如果我们只希望看到返回80端口的数据包,用src port 80。 
tcpdump –i eth0 host hostname and dst port 80  目的端口是80
或者
tcpdump –i eth0 host hostname and src port 80  源端口是80 

80端口一般是提供http的服务的主机

 

 

tcpdump输出格式

总的的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数

 

 

如果要用wireshark分析数据:

tcpdump -i eth0 -c 100 -s 0 -w /home/data.pcap

 

直接使用wireshark /home/data.pcap即可 分析结果如下图

 

 

分享到:
评论

相关推荐

    linux 抓包工具---Tcpdump

    若想进一步查看该主机与Web服务器的交互,可以使用`tcpdump -i eth0 src host 192.168.0.5 and dst port 80`,这样只会显示目标端口为80(HTTP)的数据包,从而更精确地分析网络行为。 除了Tcpdump,Nmap是另一款...

    实用抓包工具

    1. Wireshark:作为最广泛使用的开源抓包工具,Wireshark提供了强大的数据包解析和过滤功能。用户可以直观地查看数据包细节,并通过自定义过滤器快速定位问题。 2. tcpdump:这是一个命令行工具,适用于Linux和Unix...

    抓包工具类

    在IT行业中,抓包工具是网络诊断和分析的重要利器,它们可以帮助我们查看网络通信的数据包,从而理解数据在网络中的传输过程。"iptool_ipanalyse"这个文件名可能指的是一个特定的抓包工具或者其中的一个模块,专门...

    网络抓包工具

    由于抓包工具通常工作在内核模式下,它们能够获取到未被操作系统处理的原始数据。 三、网络抓包工具的功能 1. 数据包捕获:抓取并记录网络上的所有数据包,包括TCP、UDP、IP和其他协议的包。 2. 实时监控:实时展示...

    网络抓包工具.rar

    2. tcpdump:tcpdump是命令行界面的抓包工具,主要在Unix-like系统上使用,如Linux和FreeBSD。虽然没有图形界面,但其功能强大,可执行复杂的抓包任务。 3. Fiddler:Fiddler主要用于HTTP/HTTPS协议的抓包,特别...

    抓包工具......

    3. 应用程序调试:开发者可以利用抓包工具查看应用程序与服务器之间的通信细节,以定位错误或优化性能。 4. 网络性能监控:监控网络流量,了解网络带宽使用情况,找出占用资源过多的进程。 5. 教育研究:学习网络...

    抓包工具

    其中,Wireshark是最为广泛使用的开源抓包工具之一,拥有强大的数据包解析和过滤功能,支持多种网络协议,并提供图形化的用户界面。而TCPDump则更偏向于命令行工具,适用于Linux和Unix环境,适合系统管理员进行快速...

    网络抓包和发包工具

    1. **协议分析**:抓包工具能够解析各种网络协议,如IP、TCP、UDP、HTTP、DNS等,这有助于理解数据的传输流程和格式。 2. **过滤与搜索**:通过过滤器,我们可以快速定位特定类型的数据包,比如只显示HTTP请求或...

    抓包软件教程

    1. Wireshark:Wireshark是最知名的网络抓包工具之一,提供图形化界面,支持多种操作系统,包括Windows、Linux和macOS。用户可以通过过滤器查看特定类型的封包,同时还能深入解析各种网络协议,如TCP、UDP、HTTP等。...

    tcp-ip,ip包,http包 协议抓包分析工具

    这里我们将详细探讨这些概念以及如何使用抓包工具进行分析。 TCP(传输控制协议)和IP(互联网协议)是Internet协议族中最核心的部分,合称为TCP/IP协议。TCP提供了一种面向连接、可靠的数据传输服务,确保数据包在...

    手机数据抓包入门教程

    ##### 4.2 内部式抓包工具——Tcpdump - **简介**:Tcpdump是一个小型且高效的网络数据包抓取工具。 - **优势**: - 直接运行在Linux内核中,效率高; - 配置灵活,可以根据具体需求定制抓包条件。 #### 五、...

    Linux 服务器带宽异常跑满分析解决

    #### 三、使用tcpdump命令进行抓包 *tcpdump*是一款强大的网络数据包抓取工具,它可以捕捉网络中的数据包并进行解析,以便于分析。通过*tcpdump*,我们可以更深入地了解网络数据传输的细节。 **命令格式**: ```...

    mod_limitipconn和bw_mod实现Apache限速-linux-win32

    在Linux服务器上进行网络流量监控和抓包,可以使用`tcpdump`或`wireshark`工具。`tcpdump`是一个命令行工具,适用于快速查看网络流量,而`wireshark`则提供了一个图形用户界面,更便于分析和过滤数据。使用`tcpdump`...

    linux网络编程指南

    2. **开发工具**:在Linux下,开发网络应用时,常用的工具有gcc编译器、gdb调试器、strace跟踪系统调用、tcpdump抓包分析等。这些工具能帮助你编译、调试和分析你的网络程序。 3. **数据库**:网络应用往往需要存储...

    linux+nginx+mysql+php服务器配置(可用于工业生产).doc

    遇到问题时,查阅系统日志,使用`strace`跟踪系统调用,使用`netstat`查看网络连接,以及利用`tcpdump`抓包分析网络通信。 8. **自动化部署** 使用自动化工具,如Ansible、Chef或Puppet,进行配置管理和部署,...

    Linux网络编程

    12. **网络调试工具**:如`tcpdump`用于抓包分析,`netstat`查看网络状态,`strace`跟踪系统调用,这些工具在解决问题时非常有用。 通过深入学习和实践Linux网络编程,开发者可以创建出稳定、高性能的网络服务,如...

    linux完全教程

    故障排查技能包括阅读和解析系统日志文件、使用“dmesg”查看内核消息、使用“strace”追踪系统调用、使用“tcpdump”或“wireshark”进行网络抓包分析。系统性能优化则包括内核参数调优、磁盘I/O优化、内存管理优化...

    深入理解Linux网络技术内幕

    读者将了解到如何分析网络数据包,以及如何利用工具如tcpdump和Wireshark进行网络抓包和分析。此外,还会深入探讨TCP连接的建立与关闭、拥塞控制、流量控制等高级主题。 Linux内核中的网络子系统是实现这些协议的...

    开发驱动常用的串口和网口调试工具

    5. **Charles**:与Fiddler类似,Charles 是一款跨平台的HTTP代理/HTTPS抓包工具,适用于iOS和Android开发中的网络调试。 三、综合调试助手 在【压缩包子文件的文件名称列表】中提到的DebugAssist,可能是一个集成...

Global site tag (gtag.js) - Google Analytics