tcpdump指定ip和端口(tcpdump 协议过滤哪些协议)
本文目录
- tcpdump 协议过滤哪些协议
- tcpdump 某服务器占用哪个端口
- Linux下如何抓指定IP的包
- 请问VS2005如何配置WpdPack开发包,还有如何获得tcpdump数据包的里面的IP地址,目的地址,端口那些东西
- 关于linux tcpdump命令
- 询问一个TCPDUMP语法问题 在抓TCP包时不能指定IP吗
tcpdump 协议过滤哪些协议
tcpdump 协议过滤作为业界标准的捕获工具,tcpdump提供了强大而又灵活的包过滤功能。作为tcpdump基础的libpcap包捕获引擎支持标准的包过滤规则,如基于5重包头的过滤(如基于源/目的IP地址/端口和IP协议类型)。tcpdump/libpcap的包过滤规则也支持更多通用分组表达式,在这些表达式中,包中的任意字节范围都可以使用关系或二进制操作符进行检查。对于字节范围表达,你可以使用以下格式:proto “proto”可以是熟知的协议之一(如ip,arp,tcp,udp,icmp,ipv6),“expr”表示与指定的协议头开头相关的字节偏移量。有我们熟知的直接偏移量如tcpflags,也有取值常量如tcp-syn,tcp-ack或者tcp-fin。“size”是可选的,表示从字节偏移量开始检查的字节数量。使用这种格式,你可以像下面这样过滤TCP SYN,ACK或FIN包。
tcpdump 某服务器占用哪个端口
Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是不可少的。TcpDump是Linux中强大的网络数据采集分析工具之一。
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。
tcpdump参数是用于过滤目的,这是因为网络中流量很大,如果不加分辨将所有的数据包都截留下来,数据量太大,反而不容易发现需要的数据包。使用这些参数定义的过滤规则可以截留特定的数据包,以缩小目标,才能更好的分析网络中存在的问题。tcpdump使用参数指定要监视数据包的类型、地址、端口等,根据具体的网络问题,充分利用这些过滤规则就能达到迅速定位故障的目的。请使用man tcpdump查看这些过滤规则的具体用法。
Linux下如何抓指定IP的包
用tcpdum命令可以抓指定IP的包,具体命令为:
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port 22 and src net 192.168.1.1 -w ./target.cap
参数解析:
tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型。
-i eth1 : 只抓经过接口eth1的包
-t : 不显示时间戳
-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
-c 100 : 只抓取100个数据包
dst port 22 : 抓取目标端口是22的数据包
src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.1
-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
扩展资料
tcpdump语法格式:
tcpdump
tcpdump主要参数说明:
1、-a 尝试将网络和广播地址转换成名称。
2、-c《数据包数目》 收到指定的数据包数目后,就停止进行倾倒操作。
3、-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
4、-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
5、-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
6、-e 在每列倾倒资料上显示连接层级的文件头。
7、-f 用数字显示网际网络地址。
8、-F《表达文件》 指定内含表达方式的文件。
9、-i《网络界面》 使用指定的网络截面送出数据包。
10、-l 使用标准输出列的缓冲区。
11、-n 不把主机的网络地址转换成名字。
12、-N 不列出域名。
请问VS2005如何配置WpdPack开发包,还有如何获得tcpdump数据包的里面的IP地址,目的地址,端口那些东西
文存储在u_char ** ptk_data中,通过winpcap截获的报文是完整的tcpip报文,里面包括了物理层,网络层,传输层的封装,要将报文解析首先要定义头的格式//Mac帧头 占14个字节typedef struct tag_mac_header{ u_char dadd;//6个字节 目标地址 u_char sadd;//6个字节 源地址 u_short mac_type;//2个字节 类型}mac_header;//IP地址 4字节typedef struct tag_ip_address{ u_char byte1; //sizeof(u_char)==1 u_char占一个字节(8位) u_char byte2; u_char byte3; u_char byte4;}ip_address;//定义IP头 IP数据包=IP头+TCP数据段(或UDP数据段)typedef struct tag_ip_header{ u_char ver_ihl; // u_char 8位 版本(4位) + 头长(4位) u_char tos;//TOS 服务类型 u_short tlen;//包总长 u_short占两个字节 u_short identification;//标识 u_short flags_fo;//标志位Flags(3位)+分段偏移(13位) u_char ttl;//TTL u_char proto;//Protocol u_short crc;//校验和 ip_address saddr;//源地址 ip_address daddr;//目的地址 u_int op_pad;//选项+填充字段 u_int占4个字节 32位 //接下来是数据段,不属于IP头部}ip_header;//定义UDP头typedef struct tag_udp_header{ u_short sport;//源端口 16位 u_short dport;//目的端口 16位 u_short len;//数据报长度 16位 u_short crc;//校验和 16位 }udp_header;//定义TCP头typedef struct tag_tcp_header{ u_short sport;//源端口地址 16位 u_short dport;//目的端口地址 16位 u_int32_t sn;//序列号 32位 u_int32_t an;//确认号 32位 u_int16_t other;//16位 其中 头长度4位+保留6位+UPG1+ACK1+PSH1+RST1+SYN1+FIN1 u_int16_t window_size;//窗口大小 16位 u_int16_t check_sum;//校验和 16位 u_int16_t urgent_pointer;//紧急指针 16位 u_int32_t option;//选项0或32位}tcp_header;//定义ICMPtypedef struct tag_icmp_header{ u_char type;//8位 类型 u_char identifer; //8位 代码 u_char sequence;//序列号 8位 u_char chksum;//8位校验和}icmp_header;根据这些格式把报文一套,IP地址在ip_address结构体中(是网络序的,别忘了转成主机序),端口号在传输层协议中Udp_Header和Tcp_Header中另外,站长团上有产品团购,便宜有保证
关于linux tcpdump命令
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例默认启动tcpdump普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。 监视指定网络接口的数据包tcpdump -i eth1如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。 监视指定主机的数据包打印所有进入或离开sundown的数据包.tcpdump host sundown也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包tcpdump host 210.27.48.1打印helios 与 hot 或者与 ace 之间通信的数据包tcpdump host helios and \( hot or ace \)截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)打印ace与任何其他主机之间通信的IP 数据包, 但不包括与helios之间的数据包.tcpdump ip host ace and not helios如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:tcpdump ip host 210.27.48.1 and ! 210.27.48.2截获主机hostname发送的所有数据tcpdump -i eth0 src host hostname监视所有送到主机hostname的数据包tcpdump -i eth0 dst host hostname 监视指定主机和端口的数据包如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令tcpdump tcp port 23 and host 210.27.48.1对本机的udp 123 端口进行监视 123 为ntp的服务端口tcpdump udp port 123 监视指定网络的数据包打印本地主机与Berkeley网络上的主机之间的所有通信数据包(nt: ucb-ether, 此处可理解为’Berkeley网络’的网络地址,此表达式最原始的含义可表达为: 打印网络地址为ucb-ether的所有数据包)tcpdump net ucb-ether打印所有通过网关snup的ftp数据包(注意, 表达式被单引号括起来了, 这可以防止shell对其中的括号进行错误解析)tcpdump ’gateway snup and (port ftp or ftp-data)’打印所有源地址或目标地址是本地主机的IP数据包(如果本地网络通过网关连到了另一网络, 则另一网络并不能算作本地网络.(nt: 此句翻译曲折,需补充).localnet 实际使用时要真正替换成本地网络的名字)tcpdump ip and not net localnet
询问一个TCPDUMP语法问题 在抓TCP包时不能指定IP吗
可以指定IP,筛选条件可以给你参考下:tcpdump :-i: 后跟网卡名;host:后跟主机IP;-a —— 将网络地址和广播地址转变成名字;-c —— 指定抓取的数据包数量;-n:不把主机IP转为主机名;-r:指定从某个文件中读取数据包;-e:指定将监听到的数据包链路层的信息打印出来,包括源mac和目的mac,以及网络层的协议;-nn:不把ip、协议、端口等转为名字;-T —— 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议);-w —— 直接将包写入文件中,并不分析和打印出来;and:条件筛选,包含两个地址;or:条件筛选,两个之中的一个;src:后跟起始地址;dst:后跟目的地址;tcpdump的表达式表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。在表达式中一般如下几种类型的关键字。第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是”ether”的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 ‘not ‘ ‘! ‘, 与运算是’and’,’&&’;或运算 是’or’ ,’││’;这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。A)想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:tcpdump host 210.27.48.1B)想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中使用 括号时,一定要转义)tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 )C)如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:tcpdump ip host 210.27.48.1 and ! 210.27.48.2D)如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:tcpdump tcp port 23 and host 210.27.48.1E 对本机的udp 123 端口进行监视 123 为ntp的服务端口# tcpdump udp port 123F 系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据:#tcpdump -i eth0 src host hostnameG 下面的命令可以监视所有送到主机hostname的数据包: #tcpdump -i eth0 dst host hostnameH 我们还可以监视通过指定网关的数据包: #tcpdump -i eth0 gateway #Gatewayname#I 如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令: #tcpdump -i eth0 host hostname and port 80J 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:#tcpdump ip host 210.27.48.1 and ! 210.27.48.2K 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用括号时,一定要加/#tcpdump host 210.27.48.1 and \(210.27.48.2 or 210.27.48.3\)L 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:#tcpdump ip host 210.27.48.1 and ! 210.27.48.2M 如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:#tcpdump tcp port 23 host 210.27.48.1
更多文章:

沉默的羔羊原型(电影《沉默的羔羊》《华尔街》所使用的原型是 A.阿喀琉斯 B.康迪德 C.浮士德 D.俄耳浦斯)
2025年4月1日 23:40

打开这个网站你会感谢我的(我打开有些网页就会出现“此网站需要运行以下加载项如果您信任请点击这里”)
2025年2月21日 15:30

colormap(matlab中“colormap(map) map”为什么没被定义)
2025年3月14日 20:00

ipv6查询(如何查看自己的手机连接网络是不是IPv6协议)
2025年3月12日 08:50

mobile number是什么意思(mobile可以组成什么单词)
2025年3月6日 00:00

dreamweaver 教程(如何使用Dreamweaver方便快捷编辑网页标签_Dreamweaver教程)
2025年3月21日 23:50

radiobutton控件默认选中(winform怎么rediobutton被默认选中)
2025年3月12日 06:40

crossing field(刀剑神域2主题曲《crossing field》中文意思是什么)
2025年3月28日 01:50