网络命令
tcpdump
yum install tcpdump -y
https://blog.51cto.com/masters/1870141
-
指定网卡
tcpdump -i eth0
-
指定协议
# 抓取udp协议的数据包 tcpdump -i eth0 -vnn udp # 抓取icmp协议的数据包 tcpdump -i eth0 -vnn icmp # 抓取arp协议的数据包 tcpdump -i eth0 -vnn arp # 抓取ip协议的数据包 tcpdump -i eth0 -vnn ip
-
指定端口
# 抓取源端口是22的数据包 tcpdump -i eth0 -vnn src port 22 tcpdump -i eth0 -vnn dst port 22 # 抓取包含端口22的数据包 tcpdump -i eth0 -vnn port 22
-
指定地址
# 抓取源ip是10.10.10.122数据包 tcpdump -i eth0 -vnn src host 10.10.10.122 # 抓取源ip是10.10.10.253且目的ip是22的数据包 tcpdump -i eth0 -vnn src host 10.10.10.253 and dst port 22 # 抓取源ip是10.10.10.122或者包含端口是22的数据包 tcpdump -i eth0 -vnn src host 10.10.10.122 or port 22 # 抓取源ip是10.10.10.122且端口不是22的数据包 tcpdump -i eth0 -vnn src host 10.10.10.122 and not port 22 # 抓取源ip是10.10.10.2且目的端口是22,或源ip是10.10.10.65且目的端口是80的数据包。 tcpdump -i eth0 -vnn \( src host 10.10.10.2 and dst port 22 \) or \( src host 10.10.10.65 and dst port 80 \) # 抓取源ip是10.10.10.59且目的端口是22,或源ip是10.10.10.68且目的端口是80的数据包。 tcpdump -i eth0 -vnn 'src host 10.10.10.59 and dst port 22' or ' src host 10.10.10.68 and dst port 80 ' # 抓取包含 10.10.10.0/24 的数据包 tcpdump -i eth0 -vnn net 10.10.10.0/24
#把抓取的数据包记录存到/tmp/fill文件中,当抓取100个数据包后就退出程序。 tcpdump –i eth0 -vnn -w /tmp/fil1 -c 100 #从/tmp/fill记录中读取tcp协议的数据包 tcpdump –i eth0 -vnn -r /tmp/fil1 tcp #从/tmp/fill记录中读取包含10.10.10.58的数据包 tcpdump –i eth0 -vnn -r /tmp/fil1 host 10.10.10.58 #假如要抓vlan 1的包,命令格式如下: tcpdump -i eth0 port 80 and vlan 1 -w /tmp/vlan.cap #在后台抓eth0在80端口的包,命令格式如下: nohup tcpdump -i eth0 port 80 -w /tmp/temp.cap & #ARP包的tcpdump输出信息 tcpdump arp -nvv #使用tcpdump抓取与主机192.168.43.23或着与主机192.168.43.24通信报文,并且显示在控制台上 tcpdump -X -s 1024 -i eth0 host \(192.168.43.23 or 192.168.43.24\) and host 172.16.70.35
#常用命令收藏 tcpdump -i eth0 -nn 'dst host 172.100.6.231' tcpdump -i eth0 -nn 'src host 172.100.6.12' tcpdump -i eth0 -nnA 'port 80' tcpdump -i eth0 -XnnA 'port 22' tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.231' tcpdump -i eth0 -nnA '!port 22' and 'src host 172.100.6.230' tcpdump -i eth0 -nnA '!port 22'
-
其他命令
-nn
以ip.port
的形式显示,而不是主机名.服务名
-A
: 以ascii的方式显示数据包,抓取web数据时很有用。
-v
详细输出
-vv 更详细的输出
-s 0 完整的数据包
-c 住区指定的数据包 -
逻辑表达式
and
or
! -
tcpdump 与wireshark
Wireshark(以前是ethereal)是Windows下非常简单易用的抓包工具。但在Linux下很难找到一个好用的图形化抓包工具。
还好有Tcpdump。我们可以用Tcpdump + Wireshark 的完美组合实现:在 Linux 里抓包,然后在Windows 里分析包。tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
ip
添加ip
ip addr
ip addr show eth0
ip addr add 192.168.123.100/24 dev eth0:0
ip addr del 192.168.123.100/24 dev eth0:0
添加路由
ip route add 192.168.123.100/32 via 10.4.7.12 dev eth0
ip route del 192.168.123.100/32 via 10.4.7.12 dev eth0
#
ip route add 192.168.123.0/24 via 10.4.7.12 dev eth0
ip route del 192.168.123.0/24 via 10.4.7.12 dev eth0
#
ip route add default via 10.4.7.22 dev eth0
ip route del default via 10.4.7.22 dev eth0
启动
ip link set docker0 down
ip link set docker0 up
brctlyum install bridge-utils
brctl show
brctl addbr cni0
brctl delbr cni0
ip addr add 172.11.1.0/24 dev cni0
深入浅出之-route命令实战使用指南
Linux系统基础网络配置老鸟精华篇
路由信息设置开机生效
方法—:
vi /etc/sysconfig/network-scripts/route-eth0 #黑认不存在此文件加入如下内容:
192.168.1.0/24 via 192.168.1.1
提示:写到配置里,重启网络服务和重启系统都会生效!
方法二:
vi /etc/sysconfiglstatic-routes #黑默认不存在此文件加入如下内容:
心
any net 192.168.1.0/24 gw 192.168.1.1
提示:写到配置里,重启网络服务和重启系统都会生效!
方法三:
vi /etc/rc.local加入如下内容:
route add -net 192.168.1.0/24 gw 192.168.1.1FS:方法一推荐生产环境使用