抓包
tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具
tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息
#常用选项
[root@shang ~]#yum -y install tcpdump
-i #监听哪一个网卡
-n #不把ip解析成主机名
-nn #不把端口解析成应用层协议
-c #指定抓包的数量
-S #不把随机序列和确认序列解析成绝对值
-w #将流量保存到文件中,文件中的信息是无法直接查看的
-r #读取文件中的内容
-v #输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。
-vv #输出详细的报文信息。
-nnvvi eth0
-w 写入文件夹
-r 读取
#实例*
企业中遇到无法远程连接拍错流程: IDC机房服务器 云服务器
1.ping通
2.通过页面或者机房插显示器连接服务器抓包
tcpdump -nni eth0 port 12345
3.在公司windows电脑使用telnet连接测试
cmd窗口-->telnet 服务器IP地址 12345
结果:
1.如果服务端可以看到来源公网IP地址 说明服务端做的限制
2.如果服务端来源IP地址不是公司公网IP地址 则需要放行抓取到的公网(打电话解决)
3.如果服务端收不到任何信息,说明是公司网络问题
1、默认启动
tcpdump -vv #普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。
2、过滤主机
tcpdump -i eth1 host 192.168.1.1 #抓取所有经过eth1,目的或源地址是192.168.1.1的网络数据
tcpdump -i eth1 src host 192.168.1.1 #指定源地址,192.168.1.1
tcpdump -i eth1 dst host 192.168.1.1 #指定目的地址,192.168.1.1
3、过滤端口
tcpdump -i eth1 port 80 #抓取所有经过eth1,目的或源端口是80的网络数据
tcpdump -i eth1 src port 80 #指定源端口
tcpdump -i eth1 dst port 80 #指定目的端口
4、协议过滤
tcpdump -i eth1 arp
tcpdump -i eth1 ip
tcpdump -i eth1 tcp
tcpdump -i eth1 udp
tcpdump -i eth1 icmp
#抓tcp某端口的数据包
tcpdump -i eth0 tcp port 21 -nn
5、常用表达式
非 : ! or "not" (去掉双引号)
且 : && or "and"
或 : || or "or"
#抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数
tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'
#抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据
tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'
#抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据
tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'
网络常用命令
虚拟机:
ping
ip add #查看ip
route -n #查看网关
ifconfig #查看ip
nslookup #查看DNS域名解析
tracert #网络延迟较高使用
taracet -d www.baidu.com
tcpdump
-i #监听哪一个网卡 指定网卡
-nn #不把端口解析成应用层协议
-vv #输出详细的报文信息。
tcpdump -nnvvi ens33 port 80 #指定端口号
tcpdump -i eth1 src port 80 #指定源端口
tcpdump -i eth1 dst port 80 #指定目的端口
tcpdump -i eth1 host 192.168.1.1 #指定地址
tcpdump -i eth1 src host 192.168.1.1 #指定源地址,192.168.1.1
tcpdump -i eth1 dst host 192.168.1.1 #指定目的地址,192.168.1.1
nc -l 端口#用于指定nc将处于侦听模式
nmap #扫描服务器都开启了哪些端口
namp www.baidu.com
-p #指定端口号
-p22 #单个端口号
-p22,80 #多个端口号
-p1-1000 #1到1000之间的端口号
iftop #查看传输
dstat #实时查看流量
iotop #查看磁盘IO
netstat -tnulp #查看当前系统中运行了哪些服务端口
ss -an|grep tcp #查看当前系统中运行了哪些服务端口
telnet #一种远程登录工具
同样可以检查某个主机是否开启某个端口号
telnet 10.0.0.200 端口号
[C:\~]$ telnet
主要功能连接连接路由器 交换机
telnet 网关地址
windows
ping
nslookup
mstsc 开启远程连接桌面
cmd 命令行
ipconfig/all 查看ip
ipconfig/flushdns 刷新windows缓存
ipconfig/displaydns 查看windows缓存