关于网络抓包工具和网络:
网络工具和网络在现代社会中扮演着至关重要的角色,对个人、组织和整个社会都具有重大意义。
网络工具的重要性:
-
网络分析工具:工具如Wireshark、tcpdump等帮助网络管理员监控、分析和故障排除网络流量,确保网络安全和性能。
-
端口扫描工具:工具如Nmap用于检测网络上的开放端口,帮助发现潜在的网络安全漏洞。
-
远程管理工具:工具如SSH、TeamViewer等允许远程访问和管理计算机,便于远程工作和技术支持。
-
网络性能工具:工具如Ping、Traceroute等用于测试网络连接的质量和延迟,帮助优化网络性能。
-
防火墙和安全工具:工具如iptables、Snort等用于设置防火墙规则和监控网络流量,保护网络免受恶意攻击。
网络的重要性:
-
全球互联:网络连接了全球各地的人们,促进了信息交流、合作和文化交流。
-
商务和经济:网络为企业提供了全球市场和在线交易的机会,推动了经济增长和创新。
-
教育和研究:网络为学生、教师和研究人员提供了无限的学习资源和合作机会,推动了教育和科学的发展。
-
社交和娱乐:社交网络和在线娱乐平台使人们能够轻松地与朋友和家人保持联系,享受各种娱乐内容。
-
紧急通讯:网络在紧急情况下起着关键作用,如提供紧急救援服务、协助灾难应对等。
理解和有效利用网络工具以及建立稳定、安全的网络基础设施至关重要。网络抓包工具是用于捕获和分析网络数据包的软件工具,它们对于网络故障排查、安全监控和性能优化非常有用。
常用的网络抓包工具:
-
Wireshark:Wireshark 是一个流行的开源网络协议分析器,支持多种操作系统,可以捕获和分析网络数据包,并提供强大的过滤和统计功能。
-
tcpdump:tcpdump 是一个命令行网络抓包工具,可在各种操作系统上运行,可以捕获网络数据包并将其输出到屏幕或文件中。
-
Ettercap:Ettercap 是一个网络中间人攻击工具,也可以用于网络抓包和分析,支持活动嗅探和数据包注入。
-
Tshark:Tshark 是 Wireshark 的命令行版本,可以用于捕获和分析网络数据包,适用于需要在命令行环境下进行网络分析的场景。
-
tcpflow:tcpflow 可以将 TCP 连接中的数据流重组成原始数据,用于分析 TCP 数据流的内容。
-
Ngrep:Ngrep 是一个类似于 grep 的网络数据包搜索工具,可以在网络流量中搜索指定的内容,支持正则表达式。
-
Dumpcap:Dumpcap 是 Wireshark 的命令行版本的包捕获工具,用于捕获网络数据包并将其保存到文件中。
-
Capsa:Capsa 是一款综合性的网络分析工具,提供实时监控、报告生成、流量分析等功能,适用于网络管理和安全监控。
-
等等.......
iftop抓包工具:
iftop
是一个基于文本界面的实时网络流量监控工具,用于显示当前系统中网络接口的实时流量信息。它可以帮助用户监视网络流量的来源和目的地,以及流量的传输速率。iftop是一个用于显示网络接口上主机的带宽使用情况的工具。以下是 iftop
的主要用途和作用:
-
实时监控网络流量:
iftop
可以实时显示网络接口的流量情况,包括传入和传出流量的速率、源IP地址、目标IP地址、端口号等信息。 -
监视网络连接:通过
iftop
,您可以监视当前系统上的所有活动网络连接,了解哪些主机正在与您的系统通信以及它们之间的数据传输情况。 -
识别网络流量瓶颈:通过观察
iftop
的输出,您可以快速识别网络流量瓶颈,找出导致网络延迟或传输速度下降的原因。 -
检测网络攻击:
iftop
可以帮助您监视异常的网络流量模式,从而帮助您发现可能的网络攻击或异常行为。 -
网络性能优化:通过监视网络流量,您可以评估网络使用情况,识别哪些应用程序或服务消耗大量带宽,从而优化网络性能和资源分配。
总之,iftop
是一个功能强大的工具,可用于实时监控网络流量,帮助用户了解网络使用情况,识别问题并采取必要的措施来优化网络性能。
iftop用法:
iftop -h | [-npblNBP] [-i interface] [-f filter code]
[-F net/mask] [-G net6/mask6]
iftop选项说明:
-h
:显示帮助信息-n
:不进行主机名查找-N
:不将端口号转换为服务名称-p
:以混杂模式运行(显示同一网络段上其他主机之间的流量)-b
:不显示流量的条形图-B
:以字节显示带宽-i interface
:监听指定的网络接口-f filter code
:使用过滤器代码选择要计数的数据包(默认情况下仅计算IP数据包)-F net/mask
:显示进出IPv4网络的流量-G net6/mask6
:显示进出IPv6网络的流量-l
:显示和计算链路本地IPv6流量(默认关闭)-P
:显示端口和主机-m limit
:设置带宽刻度的上限-c config file
:指定替代配置文件-t
:使用文本界面,不使用ncurses
排序顺序:
-o 2s
:按第一列排序(2秒流量平均值)-o 10s
:按第二列排序(10秒流量平均值)[默认]-o 40s
:按第三列排序(40秒流量平均值)-o source
:按源地址排序-o destination
:按目标地址排序
附加选项(仅与 -t
结合使用):
-s num
:在num秒后打印单个文本输出,然后退出-L num
:要打印的行数
版本信息:
iftop,版本1.0pre4
iftop是一个强大的网络流量监控工具,可以帮助您实时监控网络接口上的带宽使用情况,并显示与主机之间的流量信息。
iftop实例:
测某个服务或者业务的流量信息
进docker容器,将apt数据更新
apt install iftop 下载 iftop
开始抓流量包信息
iftop -i 网卡 -n (抓取“网卡”的流量信息,不进行主机名查找)
iftop -i 网卡 -n -t -s 180 >> 文件名 (抓取三分钟“网卡”的流量信息,不进行主机名查找,使用文本界面,不交互,并把抓取到的结果存到指定文件中)
注:执行时间会比较长,不是卡了或者崩溃,耐心等待即可
结果如下:
对于目标ip查归属地:
我是自己写了一个小的循环,利用了公司企业的ip查询数据库(网址隐藏,不能对外公布),
grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" yx.txt | while read ip; do curl -s "https://newdcs.*****.c********=l**********ip=$ip" | grep -o '"prov":"[^"]*","city":"[^"]*"' | sed "s/^/$ip/" >> yyxx.txt; done
针对这个乱一点的,上一条源地址,下一条目标地址,但需要的是目标地址,所以可以用
cat yyxx.txt |awk "NR % 2 == 0"
当然这种ipv4的地址,很简单,但如果是有ipv6的需要解析(如下图),则同样的写个命令解决
同样的,隐藏了网址:
grep -oE '([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})' yx.txt |while read six; do curl -s "https://api.ipplus360.com/i********k****=*******************&ip=$six" | grep -o '"province":"[^"]*","city":"[^"]*"' |sed "s/^/$six/" >> yyxx.txt; done
tcpdump抓包工具:
tcpdump
是一个在Unix/Linux系统上常用的网络数据包分析工具,它可以捕获网络接口上的数据包,并将其以可读的格式展示出来。以下是 tcpdump
的主要用途和作用:
-
网络故障排除:
tcpdump
可以用于分析网络通信中的问题,帮助用户快速定位网络故障的原因,例如连接问题、数据包丢失、延迟等。 -
网络安全监控:通过监视网络流量,
tcpdump
可以帮助检测潜在的安全威胁,如恶意流量、未经授权的访问、攻击等,并提供有关攻击来源和目标的信息。 -
网络性能优化:通过分析数据包流量,
tcpdump
可以帮助用户了解网络使用情况,识别瓶颈和性能问题,从而优化网络配置和资源分配。 -
协议分析:
tcpdump
可以捕获各种网络协议的数据包,帮助用户分析和理解不同协议之间的通信过程,包括TCP、UDP、ICMP等。 -
网络流量监控:通过捕获和分析网络流量,
tcpdump
可以提供关于数据包的详细信息,如源IP地址、目标IP地址、端口号、数据大小等,帮助用户监控网络流量情况。
总之,tcpdump
是一个功能强大的网络数据包分析工具,可以帮助用户进行网络故障排除、安全监控、性能优化和协议分析等工作。通过使用 tcpdump
,用户可以深入了解网络通信过程,从而更好地管理和维护网络系统。
tcpdump用法:
1.捕获所有网络接口上的数据包:
tcpdump -i any
这将捕获所有网络接口上的数据包。
2.捕获指定网络接口上的数据包:
tcpdump -i eth0
这将捕获名为 eth0
的网络接口上的数据包。
3.将捕获的数据包保存到文件中:
tcpdump -i eth0 -w capture.pcap
这将捕获 eth0
接口上的数据包,并将数据包保存到名为 capture.pcap
的文件中。
4.显示捕获的数据包内容:
tcpdump -i eth0 -A
这将以ASCII格式显示捕获的数据包内容。
5.指定捕获数据包的数量:
tcpdump -i eth0 -c 100
这将捕获 eth0
接口上的前100个数据包。
6.根据过滤条件捕获数据包:
tcpdump -i eth0 port 80
这将只捕获目标端口为80的数据包。
7.从文件中读取数据包并进行分析:
tcpdump -r capture.pcap
这将从名为 capture.pcap
的文件中读取数据包并进行分析。
8.显示捕获数据包的头部信息:
tcpdump -i eth0 -n -q
这将以静默模式显示捕获的数据包的头部信息。
tcpdump选项说明:
-a
:将网络地址和端口转换为可读形式。-A
:以ASCII格式打印数据包内容。-b
:在每个数据包上打印引导时间。-d
:打印过滤表达式的编译后的代码,然后退出。-E algo:secret
:使用指定算法和密钥对数据包进行解密。-F file
:从指定文件中读取过滤表达式。-i interface
:指定要监听的网络接口。-r file
:从指定文件中读取数据包而不是从网络接口读取。-s snaplen
:设置捕获数据包时的快照长度。-w file
:将捕获的数据包写入指定文件。-Z user
:以指定用户的身份运行tcpdump
。
其余的选项包括设置数据包捕获的条件、过滤数据包、指定输出格式等。tcpdump
是一个功能强大的网络数据包分析工具,通过灵活使用这些选项,用户可以根据需要捕获、分析和监视网络流量,帮助进行网络故障排除、安全监控和性能优化等工作。
tcpdump实例:
tcpdump -i 网卡名 -c 数据条数 -w 存放的路径文件
注:执行时间会比较长,不是卡了或者崩溃,耐心等待即可
tcpdump -r 存放的路径文件
注:一定要拿tcpdump -r 去看存放的文件,直接cat less more 会直接卡死或显示乱码
查ipv4地址
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' docker容器名