Linux的shell编程前奏之常见网络管理命令实战七

                                                                                 Linux的shell编程前奏之常见网络管理命令实战七

 

前言:tcpdump命令是一个截获网络数据包的包分析工具。Tcpdump可以将网络中传送的数据包的“头”完全截获下来以提供分析。它支持针对网络层,协议,主机,端口等的过滤,并支持与,或,非逻辑语句协助过滤有效信息。


一>监听指定网卡收到的数据包

[root@lll /]#  tcpdump -i ens33

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on ens33, link-type EN10MB (Ethernet), capture size 65535 bytes

17:52:07.058332 IP 192.168.0.104.50775 > 192.168.1.1.domain: 63991+ PTR? 1.1.168.192.in-addr.arpa. (42)

17:52:07.058699 IP 192.168.0.104.ssh > 192.168.0.101.52418: Flags [P.], seq 196:472, ack 1, win 254, length 276

17:52:07.065062 IP 192.168.1.1.domain > 192.168.0.104.50775: 63991* 1/0/0 PTR 192.168.1.1. (67)

17:52:07.065916 IP 192.168.0.104.ssh > 192.168.0.101.52418: Flags [P.], seq 472:1244, ack 1, win 254, length 772

17:52:07.066373 IP 192.168.0.101.52418 > 192.168.0.104.ssh: Flags [.], ack 1244, win 3834, length 0

17:52:07.066956 IP 192.168.0.104.ssh > 192.168.0.101.52418: Flags [P.], seq 1244:1504, ack 1, win 254, length 260

17:52:07.067455 IP 192.168.0.104.ssh > 192.168.0.101.52418: Flags [P.], seq 1504:1668, ack 1, win 254, length 164

17:52:07.067783 IP 192.168.0.101.52418 > 192.168.0.104.ssh: Flags [.], ack 1668, win 4096, length 0

17:52:07.068028 IP 192.168.0.104.ssh > 192.168.0.101.52418: Flags [P.], seq 1668:1928, ack 1, win 254, length 260

17:52:07.068409 IP 192.168.0.104.ssh > 192.168.0.101.52418: Flags [P.], seq 1928:2092, ack 1, win 254, length 164

17:52:07.068987 IP 192.168.0.101.52418 > 192.168.0.104.ssh: Flags [.], ack 2092, win 3990, length 0

17:52:07.069425 IP 192.168.0.104.ssh > 192.168.0.101.52418: Flags [P.], seq 2092:2352, ack 1, win 254, length 260

17:52:07.069797 IP 192.168.0.104.ssh > 192.168.0.101.52418: Flags [P.], seq 2352:2516, ack 1, win 254, length 164

17:52:07.070056 IP 192.168.0.101.52418 > 192.168.0.104.ssh: Flags [.], ack 2516, win 3884, length 0

17:52:07.070504 IP 192.168.0.104.ssh > 192.168.0.101.52418: Flags [P.], seq 2516:2776, ack 1, win 254, length 260

总结: -i,指定网络接口网卡。

  17:52:07.070504:当前时间,精确到微妙。

       IP 192.168.0.104.ssh > 192.168.0.101.52418:从主机192.168.0.104的SSH端口发送数据到192.168.0.101的52418端口,“>”代表数据流向。

  Flags [P.]:TCP包中的标志信息,S是SYN标志的缩写,F(FIN),P(PUSH),R(RST),”.”(没有标记)

Seq:数据包中的数据的顺序号。

ack: 下次期望的顺序号。

win:接收缓存的窗口大小。

length:数据包长度。


二>监听指定主机的数据包

[root@lll /]#  tcpdump -n host 192.168.0.104  ----监听所有192.168.0.104的主机收到的和发出的数据包

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on virbr0, link-type EN10MB (Ethernet), capture size 65535 bytes

[root@lll /]#  tcpdump -n src host 192.168.0.104  ---只监听从192.168.0.104发出的数据包,即源地址为192.168.0.104,关键字为src

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on virbr0, link-type EN10MB (Ethernet), capture size 65535 bytes

[root@lll /]#  tcpdump -n dst host 192.168.0.104  ----只监听192.168.0.104收到的数据包,即目标地址从192.168.0.104

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on virbr0, link-type EN10MB (Ethernet), capture size 65535 bytes


三>监听指定端口的数据包

[root@lll /]# tcpdump -nn port 22   

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on virbr0, link-type EN10MB (Ethernet), capture size 65535 bytes


四>多个过滤条件混合使用

[root@lll /]# tcpdump -n ip host 192.168.0.101 and 192.168.104

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on virbr0, link-type EN10MB (Ethernet), capture size 65535 bytes

总结:tcpdump命令支持逻辑运算符and(与),or(或),!(非),即获取主机192.168.0.101与主机192.168.0.104通信的ip数据包。


五>使用tcpdump对tcp数据进行抓包

[root@lll /]# tcpdump tcp dst port 80 or src 192.168.10.104 -i ens33 -n

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on ens33, link-type EN10MB (Ethernet), capture size 65535 bytes

总结:tcpdump主要用来抓取网络包(网络层),获取网络流量,通讯传输底层走的都是网络。

 

Liunx网络管理命令

     应用场景

    重要参数及典型案例

      ping

测试主机之间网络的连通性

[root@lll /]# ping -c 3 -i 3 -s 1024 -t 255 www.baidu.com

      telnet

判断远程服务器的端口是否开放

 

[root@lll /]# telnet 192.168.101 80

      ssh

安全的远程登录主机

[root@lll /]# ssh 192.168.0.101 "free -m"

      ifconfig

配置或显示网络接口信息

[root@lll /]# ifconfig ens33

      route

显示或管理路由表

[root@lll /]# route add -net 192.168.0.104/24 gw 10.0.0.254

      nmap

网络探测工具和安全/端口扫描器

[root@lll /]# nmap 192.168.0.104

      tcpdump

抓包,监听网络流量

[root@lll /]# tcpdump -nn port 22

      traceroute

追踪数据传输路由情况

[root@lll /]# traceroute -I www.baidu.com

      ifup

激活网络接口

[root@lll /]# ifup eth0

      ifdown

禁用网络接口

[root@lll /]# ifdown eth1

 


上一篇:tcpdump的使用以及参数详解


下一篇:tcpdump抓包命令详解