来呀,不服抓个包~~


  • 首页

  • 标签

  • 分类

  • 归档

  • 站点地图

  • 公益404

  • 搜索

HTTP抓包实战

发表于 2018-11-13 | 更新于: 2018-11-17 | 分类于 笔记 | | 阅读次数:
字数统计: 2.8k 字 | 阅读时长 ≈ 10 分钟

开始读《HTTP抓包实战》,在这个作业满天飞的日子里,计划1周读完,本篇博文对其中的部分知识点做一下简单的记录。

1、HTTP抓包分析使用的工具不再是wireshark(研究TCP/IP协议使用),而是使用 fiddler,版本4。其实 fiddler 做HTTP数据包分析的原理就是相当于一个web代理,如下图:

fiddler在中间,可以记录所用的HTTP流量。fiddler启动时,会偷偷把 Internet 选项中的代理修改为 :127.0.0.1,端口: 8888; fiddler在关闭时,会自动在Internet选项中取消代理,这样就不会对其他程序产生影响。如下图:

阅读全文 »

小知识科普

发表于 2018-11-12 | 更新于: 2018-11-13 | 分类于 笔记 | | 阅读次数:
字数统计: 459 字 | 阅读时长 ≈ 1 分钟

本篇博文记录一下平时生活中遇到的小知识,不定期更新。

1、判断USB接口类型

晚上同学过来借扩展坞,看了眼USB接口的颜色,问,这是2.0的口吗?很明显,本渣渣耗费 199大洋 采购的东东,怎么能不是 3.0 的口呢。其实凭借USB接口的颜色能够一定程度上判断接口类型,但并不一定准确。

准确的做法是:看接口的针脚数 ,USB2.0 的针脚数目是 4 个,USB3.0 的针脚数目是 9 个。如下图:

上图是本渣18年从青大毕业时,学院发的纪念U盘,4个引脚,USB2.0的接口。为啥发U盘呢,18年在青岛开上合峰会的时候正值毕业季,各种大型活动统统不让搞,往年的毕业歌会也被无情的取消,那么办晚会的钱就拿来每人发个U盘吧,反正大家都是搞计算机的,以后也用得到,话说要发好歹也发个3.0口的u盘呗,吐槽一下。不过,当时每个U盘里都拷了毕业纪念视频,还是挺走心的,这个得表扬一波。

阅读全文 »

树莓派搭建智能路由器

发表于 2018-11-12 | 更新于: 2018-11-13 | 分类于 资料 | | 阅读次数:
字数统计: 60 字 | 阅读时长 ≈ 1 分钟

使用树莓派搭建一个小智能路由器,文档为当年做本科毕业设计时写的,单纯的一个环境搭建记录,放出来,喜欢玩的小伙伴说不定可以参考一下。

阅读全文 »

算法课第三次作业

发表于 2018-11-12 | 更新于: 2018-11-14 | 分类于 作业 , 算法课第一次作业 | | 阅读次数:
字数统计: 343 字 | 阅读时长 ≈ 1 分钟

1、书面作业

懒得将 latex 转成 markdown了,直接传个PDF得了。

阅读全文 »

wireshark网络分析的艺术

发表于 2018-11-07 | 更新于: 2018-11-12 | 分类于 笔记 | | 阅读次数:
字数统计: 4k 字 | 阅读时长 ≈ 14 分钟

1、Linux服务器在收到 SSH 访问请求时,会先查询该客户端 IP 所对应的 PTR 记录( IP 反向解析,由 IP 地址 获得对应的DNS,常用在垃圾邮件过滤)。假如经过5秒钟还没有收到回复,就再发一次查询。如果第二次查询还是等了5秒还没回复,就彻底放弃查询。

解决方式: cat /etc/ssh/sshd_config | grep -i usedns ,如果显示 usedns yes ,将其设置成 no即可。

其中 grep是文本处理工具,同 sed、awk被称为文本处理三剑客。-i 代表忽略大小写的区别(ignore)。

2、启用 TCP SACK( selective acknowledgement) 功能,在大量丢包时,不需要每个重传包都确认一次。可以在 ack 数据包中,告知对方哪些包我已经收到了,比如说,当前 ack = 100 ,包中的 sack 字段等于 107--120,那么可以一次性完成 100--106 号包的重传,节约时间。

3、延迟确认

当要发送一个 ack 数据包的时候,因为纯粹的ack数据包只是单纯的确认,不含有其他有用信息。启用延迟确认,当收到一个 seq时,不立即发送 ack,而是稍等一会,当本地有数据要发送时,将信息加在 ack数据包里,就一起带过去了,节省带宽。

4、数据接收方可以积累一些包才对发送方 ack 一次。

5、愚笨窗口综合症(silly window syndrome)—“小包问题“

1
2
3
4
5
6
7
8
9
10
11
12
纳格(Nagle)算法:
if 有新数据要发送
if 数据量超过 MSS (即一个 TCP 包所能携带的最大数据量,通常为 1500-20tcp头-20ip头)
立即发送
else
if 之前发出去的数据尚未确认
把新数据缓存起来,凑够 MSS 或等确认到达再发送
else
立即发送
end if
end if
end if
阅读全文 »

VSCode配置Latex

发表于 2018-11-05 | 更新于: 2018-11-05 | 分类于 笔记 | | 阅读次数:
字数统计: 331 字 | 阅读时长 ≈ 1 分钟

因为CTeX套装自带WinEdt编辑器难用、收费且不能实时编译显示pdf效果,本笔记主要记录如何在VSCode中编辑Tex文件,实现代码自动补全及实时查看文本编辑效果等功能。

1、软件下载

CTEX下载地址:http://www.ctex.org/HomePage,建议下载完整版套装。

VSCode下载地址:https://code.visualstudio.com/

2、软件配置

在VSCode中安装对应的插件

更改配置文件

在file >> preferences >> setting >> User Setting >> Extensions >> LaTex Workshop configuration >> active 中,打开 Edit in setting.json 文件。在文件中添加如下字段:

阅读全文 »

数据科学导论作业

发表于 2018-11-04 | 更新于: 2018-11-19 | 分类于 作业 , 数据科学导论大作业 | | 阅读次数:
字数统计: 801 字 | 阅读时长 ≈ 3 分钟

第一次作业:点击下载

怎么说,对这门课就是默默告诉自己,习惯就好。默默贴个 github 地址:

https://github.com/justmarkham/DAT8

第二次作业:点击下载

同样,还是贴几个github链接地址:

https://github.com/lamalor/ds100/blob/182feda62685b0988f4b4afb52c85256f4ac7d92/hw6/hw6.ipynb

https://github.com/Dhanush123/data100/blob/master/hw6/hw6.ipynb

https://github.com/iewaij/introDataScience/blob/1eb96b44721ed6cc40761a7e3003f11a5c243cc3/legacy/material/homework/DS100%20SP17/hw5/hw5_solution.ipynb

https://github.com/dovahcrow/ds100/blob/30d629246c87f2fafbf10c155545c30344be23e6/sp17/hw/hw5/hw5_solution.ipynb

1、更改juypter默认工作路径

在 anaconda prompt 中执行命令:

1
jupyter notebook --generate-config

即可查看 jupyter_notebook_config.py 配置文件的位置,打开配置文件 jupyter_notebook_config.py,搜索关键字 notebook_dir ,将值设置为自己想要的工作目录并取消注释即可(注意路径中不能有中文);

然后右击 jupyter notebook 快捷方式,将属性中的 “目标” 字段的值,去掉末尾的 %USERPROFILE% ,点击 应用,确定即可。

阅读全文 »

网络数据挖掘作业

发表于 2018-10-31 | 更新于: 2018-11-05 | 分类于 作业 , 网络数据挖掘作业 | | 阅读次数:
字数统计: 17 字 | 阅读时长 ≈ 1 分钟

NMF(非负矩阵分解),nature论文原文:

阅读全文 »

算法课第二次作业

发表于 2018-10-28 | 更新于: 2018-11-05 | 分类于 作业 , 算法课第二次作业 | | 阅读次数:
字数统计: 1.9k 字 | 阅读时长 ≈ 8 分钟

一、Money robbing

1、optimal substructure and DP equation

对于第 i 家,有两种选择,抢或者不抢。如果抢第 i 家,那么最大收益为:value[i] + 抢前 i-2 家的最优收益; 如果第 i 家不抢,那么最大收益为:抢前 i-1 家的最优收益。

状态转移方程可写为:
$$
dp[i] = max( dp[i-1], dp[i-2]+value[i] )
$$

2、 pseudo-code

LeetCode 198题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public:
int rob(vector<int>& nums){
if( nums.size()==0 )
return 0;
else if( nums.size()==1 )
return nums[0];
vector<int> dp(nums.size(),0);
dp[0] = nums[0];
dp[1] = max( nums[0], nums[1] );
for( int i=2; i<nums.size(); i++ ){
dp[i] = max( dp[i-1], dp[i-2]+nums[i] );
}
return dp[nums.size()-1];
}
};
阅读全文 »

LeetCode21-30

发表于 2018-10-20 | 更新于: 2019-05-09 | 分类于 LeetCode , LeetCode21-30 | | 阅读次数:
字数统计: 1.8k 字 | 阅读时长 ≈ 9 分钟

21、合并两个有序链表

两个有序链表的合并,本渣代码充分利用原有空间,没开辟新的内存存储新链。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode *ans = (ListNode*)malloc(sizeof(ListNode)), *tmp = ans;
ans->next = NULL;
while( l1&&l2 ){
if( l1->val > l2->val ){
tmp->next = l2;
l2 = l2->next;
}
else{
tmp->next = l1;
l1 = l1->next;
}
tmp = tmp->next;
tmp->next = NULL;
}
if( l1 )
tmp->next = l1;
if( l2 )
tmp->next = l2;
return ans->next;
}
};
阅读全文 »
1234
大宝哥spring

大宝哥spring

机会总是留给有准备的人

39 日志
17 分类
4 标签
RSS
E-Mail Skype
近期文章
  • cycleGAN实现--tensorflow2.0
  • Pix2Pix模型实现--tensorflow2.0
  • cDCGAN生成指定手写数字--tensorflow2.0
  • DCGAN手写数字生成--tensorflow2.0
  • v2ray+websocket+TLS通过cloudflare转发防IP被ban
© 2018 — 2020 大宝哥spring | 本站共计: 62.6k 字
你是本站的第 位访问者 本站总访问量 次
0%