精华内容
下载资源
问答
  • 1.今天由于需要抓包研究网络问题,所以研究了一下抓取指定ip、指定网卡、指定端口的包并且输入到文件中 2 tcpdump与Wireshark介绍 在网络问题的调试中,tcpdump应该说是一个必不可少的工具,和大部分linux下优秀...

    1.今天由于需要抓包研究网络问题,所以研究了一下抓取指定ip、指定网卡、指定端口的包并且输入到文件中

    2 tcpdump与Wireshark介绍

    在网络问题的调试中,tcpdump应该说是一个必不可少的工具,和大部分linux下优秀工具一样,它的特点就是简单而强大。它是基于Unix系统的命令行式的数据包嗅探工具,可以抓取流动在网卡上的数据包。

    默认情况下,tcpdump不会抓取本机内部通讯的报文。根据网络协议栈的规定,对于报文,即使是目的地是本机,也需要经过本机的网络协议层,所以本机通讯肯定是通过API进入了内核,并且完成了路由选择。【比如本机的TCP通信,也必须要socket通信的基本要素:src ip port dst ip port】

    如果要使用tcpdump抓取其他主机MAC地址的数据包,必须开启网卡混杂模式,所谓混杂模式,用最简单的语言就是让网卡抓取任何经过它的数据包,不管这个数据包是不是发给它或者是它发出的。一般而言,Unix不会让普通用户设置混杂模式,因为这样可以看到别人的信息,比如telnet的用户名和密码,这样会引起一些安全上的问题,所以只有root用户可以开启混杂模式,开启混杂模式的命令是:ifconfig en0 promisc, en0是你要打开混杂模式的网卡。

    Linux抓包原理:

    Linux抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的说是网络设备)消息的处理权。当网卡接收到一个网络报文之后,它会遍历系统中所有已经注册的网络协议,例如以太网协议、x25协议处理模块来尝试进行报文的解析处理,这一点和一些文件系统的挂载相似,就是让系统中所有的已经注册的文件系统来进行尝试挂载,如果哪一个认为自己可以处理,那么就完成挂载。

    当抓包模块把自己伪装成一个网络协议的时候,系统在收到报文的时候就会给这个伪协议一次机会,让它来对网卡收到的报文进行一次处理,此时该模块就会趁机对报文进行窥探,也就是把这个报文完完整整的复制一份,假装是自己接收到的报文,汇报给抓包模块。

    Wireshark是一个网络协议检测工具,支持Windows平台、Unix平台、Mac平台,一般只在图形界面平台下使用Wireshark,如果是Linux的话,直接使用tcpdump了,因为一般而言Linux都自带的tcpdump,或者用tcpdump抓包以后用Wireshark打开分析。

    在Mac平台下,Wireshark通过WinPcap进行抓包,封装的很好,使用起来很方便,可以很容易的制定抓包过滤器或者显示过滤器,具体简单使用下面会介绍。Wireshark是一个免费的工具,只要google一下就能很容易找到下载的地方。

    所以,tcpdump是用来抓取数据非常方便,Wireshark则是用于分析抓取到的数据比较方便。

    3 tcpdump使用

    3.1 语法

    类型的关键字

    host(缺省类型): 指明一台主机,如:host 210.27.48.2

    net: 指明一个网络地址,如:net 202.0.0.0

    port: 指明端口号,如:port 23

    确定方向的关键字

    src: src 210.27.48.2, IP包源地址是210.27.48.2

    dst: dst net 202.0.0.0, 目标网络地址是202.0.0.0

    dst or src(缺省值)

    dst and src

    协议的关键字:缺省值是监听所有协议的信息包

    fddi

    ip

    arp

    rarp

    tcp

    udp

    其他关键字

    gateway

    broadcast

    less

    greater

    常用表达式:多条件时可以用括号,但是要用转义

    非 : ! or “not” (去掉双引号)

    且 : && or “and”

    或 : || or “or”

     

     

    例如我本次抓取指定ip、指定网卡、指定端口的包。语句如下:

    tcpdump -i eth3 tcp port 5236 and host 172.16.24.13 -w dm.cap

    tcpdump命令:

    -i 指定网卡,本次指定eth3

    port指定端口

    host指定ip

    -w dm.cap抓取到dm.cap文件中。

    展开全文
  • 第一步: git clone [git-url] -b [branch-name] 第二步: git reset --hard [commit-number]

    第一步: git clone [git-url] -b [branch-name]

    第二步: git reset --hard [commit-number]

    展开全文
  • 使用MongoDB的时候需要只查询指定的字段进行返回,也就是类似mysql里面的 SELECT id,name,age 这样而不是SELECT *。在MongoDB里面映射(projection)声明用来限制所有查询匹配文档的返回字段。projection以文档的形式...

    使用MongoDB的时候需要只查询指定的字段进行返回,也就是类似mysql里面的 SELECT id,name,age 这样而不是SELECT *。在MongoDB里面映射(projection)声明用来限制所有查询匹配文档的返回字段。projection以文档的形式列举结果集中要包含或者排除的字段。可以指定要包含的字段(例如:{field:1})或者指定要排除的字段(例如:{field:0})。默认_id是包含在结果集合中的,要从结果集中排除_id字段,需要在projection中指定排除_id字段({_id:0})。除了_id字段,不能在一个projection中联合使用包含和排除语意。

    返回匹配文档的所有字段:

    如果没有指定projection,find()方法返回所有匹配文档的所有字段。

    db.tbl_user.find({name:'lily'})

    //这个例子将返回tbl_user集合中name字段的值为"lily"的所有文档,返回的文档包含全部字段。

    返回指定字段和_id字段:

    一个projection可以明确地指定多个字段。下面的操作中,find()方法返回匹配的所有文档。在结果集中,只有name和age字段,默认_id字段也是返回的。

    db.tbl_user.find({name:'lily'}, {name:1,age:1} )

    仅返回指定字段:

    可以通过在projection中指定排除_id字段将其从结果中去掉,如下例子所示:

    db.tbl_user.find({name:'lily'}, {name:1,age:1, _id:0 } )

    返回除排除掉以外的字段:

    可以使用一个projection排除一个或者一组字段,如下:

    db.tbl_user.find({name:'lily'}, {name:0} )

    //这个操作返回所有name字段值为lily的文档,在结果中name字段不返回。

    数组字段的projection:

    $elemMatch 和 $slice运算符是对数组进行projection的唯一途径。

    人的认识与思想上的障碍好比一堵墙,如果不能及时超越过去,就等于把自己限制在墙内来回打转。———不能翻过这堵墙,人就难以有所作为。

    展开全文
  • 如何创建指定的日期和时间

    千次阅读 2021-02-12 23:16:08
    importjava.text.DateFormat;importjava.text.ParseException;...new一个java.util.SimpleDateFormat类的实例,构造方法可以指定日期格式,例如yyyy-MM-dd,其中yyyy表示四位年份,MM表示两位月份,...

    import java.text.DateFormat;

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    new一个java.util.SimpleDateFormat类的实例,构造方法可以指定日期格式,例如yyyy-MM-dd,其中yyyy表示四位年份,MM表示两位月份,dd表示两位日期。然后通过调用这个SimpleDateFormat实例的parse方法可以解析获得指定日期的Date对象。

    代码示例:

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

    Date d = sdf.parse("2014-03-02");

    3.通过java.util.Calendar类的静态方法getInstance()获得一个日历类实例,然后调用此实例的set(int year, int month, int date)

    设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值,然后调用实例的getTime()方法可以获得指定日期的Date对象

    public class Demo {

    public static void main(String[] args)throws ParseException {

    //获得2009年06月01日 的Date对象

    DateFormat dateFormat1 =new SimpleDateFormat("yyyy-MM-dd");

    Date myDate1 = dateFormat1.parse("2009-06-0

    展开全文
  • C# 用递归的方式查找指定文件夹下的所有子目录

    千次下载 热门讨论 2014-08-06 01:48:04
    C# 用递归的方式查找指定文件夹下的所有子目录,C#代码 采用递归的方法來查找指定文件夹及它的所有子文件夹裏的内容。
  • linux下创建指定用户并指定 gid uid

    千次阅读 2020-10-16 09:39:11
    1.创建指定所属组 并指定gid groupadd dev -g 1005 #创建dev的所属组 并制定gid 1005 2.创建指定用户 并指定 uid useradd test -u 1003 -g 1005 # 创建test用户 并指定uid 1003 分配为dev 1005属组 3.将test用户绑定...
  • 创建指定日期java Date对象

    千次阅读 2021-03-10 05:24:23
    import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Demo {public static void main(String[] args) throws ParseException {//...
  • 比如下面这个需求: 将证件号码按照6-8-6分割 将银行卡按照4-4-4-4-4分割 将手机号按照3-4-4分割 都是分割,那么我们就可以单独写一个方法来进行这个处理: function segmentTheStr(str = '', segmentArr = [], ...
  • linux移动文件到指定目录操作方法

    千次阅读 2021-05-09 01:55:54
    linux系统下,用户根据需求来进行各项操作,有小伙伴想移动文件,操作起来不大容易,linux怎么移动文件到指定目录,小编来为大家介绍。 linux怎么移动文件到指定目录 1、去需要移动文件的目录中 比如这里要移动zuul...
  • 12_Pandas.DataFrame删除指定行和列(drop)

    万次阅读 多人点赞 2020-04-27 10:40:50
    12_Pandas.DataFrame删除指定行和列(drop) 使用drop()方法删除pandas.DataFrame的行和列。 在0.21.0版之前,请使用参数labels和axis指定行和列。从0.21.0开始,可以使用index或columns。 在此,将对以下内容进行...
  • jupyter notebook指定启动目录

    万次阅读 2021-01-24 10:26:02
    下面给出了三种指定启动目录的方法,分别适用于不同场景。方法一:先在命令行中切换到指定目录,再运行`jupyter notebook`,方法二:修改默认打开位置,适合每次在固定目录运行`jupyter notebook`,方法三:`jupyter...
  • 文章目录 消费者示例 Poll方法概述 Close方法概述 Offset提交方式 Offset自动提交 Offset手动提交 commitSync commitAsync 结合commitAsync和commitSync 指定Offset消费 Consumer Exit 指定分区消费 若文章对你有...
  • cmake指定编译器

    千次阅读 2020-02-22 14:29:13
    vs2015 x64编译器为例,cmake命令如下: Xml代码 收藏代码 cmake -G “Visual Studio 14 Win64” path\to\source\dir 去掉Win64,就是32bit: ...另外一种等价方式,用命令行参数-A来指定架构(x64或者ARM)...
  • gorm查询指定列数据原文地址传送门 数据表 CREATE TABLE `jw_catalogue` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `...
  • oracle 指定索引

    千次阅读 2019-02-24 17:20:21
    我们希望使用某个更快的索引, 这个时候需要指定索引,以明确告诉oracle使用更快的索引。 oracle指定索引语法: /*+index(t ind_name)*/ “t”: 为表的别名, 如果查询语句中有表别名,这里必须使用表别名, ...
  • windows无法访问指定设备路径或文件的解决方法分享给大家,一些电脑用户反映,Windows提示:Windows无法访问指定设备路径或文件,您可能没有合适的权限访问这个项目!从而导致一些文件无法使用,也无法安装一些软件...
  • ping指定IP的指定端口号

    千次阅读 2020-03-12 21:53:17
    ping指定IP的指定端口号 ping是简单的测试网络连接情况的小工具,对于一般用户很实用,但是ping有个缺点就是,不能指定端口  tcping命令是针对tcp监控的,也可以看到ping值,即使源地址禁ping也可以通过tcping来...
  • JAVA获取指定日期

    千次阅读 2019-03-28 09:13:12
    JAVA获取指定日期 java项目中经常需要用到到当前日期的前若干天、后若干天、前几小时、后几小时的时间,现总结如下 import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util....
  • JQuery 下面有两个删除元素的方法: 1.$('#test')empty() ...如果,想要从多层元素进行指定删除,可以通过一下这种方式进行: 1.$("#test").remove(".classname"); 删除test元素下面,class为classname的元...
  • shell命令: redis-cli 2>/dev/null -a pwd -n 2 keys 'user*'|xargs redis-cli 2>... -n 2:指定库 "2" ,相当于 select 2 keys 'user*':找到前缀为 "user" 的数据 |xargs 等等:删除上文找到的前缀为
  • Android调用手机拍照,将拍照的图片放在指定文件夹中,代码中有详细的注释,直接导入即可使用。很适合初学者
  • git 拉取指定 tag 版本 git clone 指定的tag git clone --branch [tag] [git地址] 已有仓库切换 tag git checkout [tag]
  • PyTorch无法指定GPU的问题解决

    千次阅读 多人点赞 2020-06-23 17:10:54
    但是重新安装cuda之后,无法指定在哪几块GPU上运行了,只能按照顺序使用。查了一些资料,问题得到解决。 1、在python程序中指定在哪几块GPU上运行,通常采用如下方式: import os import torch os.environ["CUDA...
  • 1.1 PDFBOX介绍 ...并可以从指定位置提取图片并保存,不同于直接读取PDF中内嵌的对象,可以根据你的指定区域直接截取相应的内容作为图片保存,但是处理速度不敢恭维,特别慢。暂时没有想到优化的办法。
  • linux创建用户并指定用户组

    千次阅读 2021-02-26 11:47:14
    同样也必须真实存在 -G GROUPS:指定额外组 -c COMMENT:指定用户的注释信息 -d PATH:指定用户的家目录 三、修改用户密码 passwd zhangsan 四、相关命令 1、其他的用户操作命令 useradd user3 #新增用户 usermod ...
  • 方法一:我用git pull 加上sparse-checkout指定更新那3个文件,当我在git仓库中第一次修改文件的时候,无论是哪个文件,那3个指定更新的文件是被git库里面的覆盖更新了,但是未指定更新的那3个文件在本地就被删除了...
  • Python pandas 删除指定行/列数据

    万次阅读 2021-03-16 17:31:56
    滤除缺失数据dropna()1)滤除含有NaN值的所有行2)滤除含有NaN值的所有列3)滤除元素都是NaN值的行4)滤除元素都是NaN值的列5)滤除指定列中含有缺失的行2.删除重复值 drop_duplicates()3.根据指定条件删除行列drop() 1....
  • js数组怎么删除指定元素?

    千次阅读 2019-11-13 10:55:46
    js数组是js部分非常重要的知识,有时我们有这么个需求js数组删除指定元素,先定义一个函数来获取删除指定元素索引值,然后用js数组删除的方法,来删除指定元素即可,就两步不难,很简单。 1、JS的数组对象定义一...
  • Linux 如何在文件中查找指定内容

    万次阅读 2020-05-30 11:39:12
    一、前言:在Linux系统当中,查找文件里面的指定内容应该是系统维护、管理当中遇到最常见的。那么下面如何搜索、查找文件当中的内容呢?下面就介绍一下如何在文件中查找指定的内容 查找文件当中的内容,一般最常用...
  • Feign 访问远程api,动态指定url

    万次阅读 2019-04-29 14:12:47
    4.用builder.target()方法连接目标接口和指定的url,当然这里也可以不指定url: import feign.Target; //不指定url testFeign = builder.target(Target.EmptyTarget.create(TestFeign.class)); //在接口中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,302,977
精华内容 3,321,190
关键字:

指定

友情链接: Ghost32.zip