tcpdump
是一款强大的网络抓包工具,运行在Linux平台上。熟悉tcpdump
的使用能够帮助我们分析、调试网络数据。但是要想很好地掌握tcpdump
, 就必须对网络报文(TCP/IP协议)有一定的了解。不过对于简单的使用来说,只要有网络基础概念就行了。
作为互联网上经典的的系统管理员必备工具,tcpdump
以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。在实际工作中,需要以root权限去执行该命令。
一、常用命令选项
-e #在输出行打印出数据链路层的头部信息
-c #指定收取数据包的次数,即在收到指定数量的数据包后退出tcpdump
-f #将外部的Internet地址以数字的形式打印出来,即不显示主机名
-i #指定监听网络接口
-n #不把网络地址转换为名字
-nn #进行ip和端口名称的转换,一个n不要ip解析到域名,不要端口解析到协议,有时候会很慢
-w #将捕获到的信息保存到文件中,且不分析和打印在屏幕
-r #从指定的文件中读取数据,一般是-w保存的文件
-s #从每个组中读取在开始的snaplen个字节,而不是默认的68个字节,68字节不适用与ip,icmp,tcp协议
-v #输出稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息
-vv#输出详细的报文信息
二、安装tcpdump工具
[root@tcpdump-server ~]# yum install -y tcpdump
实验环境
1.准备两台机器
192.168.80.128 ----tcpdump-server
192.168.80.129 ----test-server
2.两台机器均关闭防火墙和selinux
监视指定网络接口的数据包
[root@tcpdump-server ~]# tcpdump -i ens33
监听网卡端口为80的应用发出和接收的所有http协议包
[root@tcpdump-server ~]# tcpdump -i ens33 port 80
[root@test-server ~]# curl http://192.168.80.128 #测试
监视ens33网卡上源地址192.168.80.129的所有网络包
[root@tcpdump-server ~]# tcpdump -i ens33 src 192.168.80.129
[root@test-server ~]# ssh 192.168.80.128 #测试
监视ens33网卡上目的地址是192.168.80.129的所有网络包
[root@tcpdump-server ~]# tcpdump -i ens33 dst 192.168.80.129
抓取所有经过 ens33,目的或源地址是 192.168.80.129 的网络数据:
[root@tcpdump-server ~]# tcpdump -i ens33 host 192.168.80.129
两台机器同时操作
[root@tcpdump-server ~]# ip a #查看自己网卡
抓来自192.168.80.129这台机器的imcp协议的包
[root@tcpdump-server ~]# tcpdump -i ens33 icmp -vv -nn
[root@test-server ~]# ping -c 1 192.168.80.128 #ping tcpdump的机器一次
PING 192.168.80.128 (192.168.80.128) 56(84) bytes of data.
64 bytes from 192.168.80.128: icmp_seq=1 ttl=64 time=0.751 ms
--- 192.168.80.128 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.751/0.751/0.751/0.000 ms
[root@tcpdump-server ~]# tcpdump -i ens33 icmp -vv -nn
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
00:55:58.756161 IP (tos 0x0, ttl 64, id 33221, offset 0, flags [DF], proto ICMP (1), length 84)
192.168.80.129 > 192.168.80.128: ICMP echo request, id 1139, seq 1, length 64
00:55:58.756254 IP (tos 0x0, ttl 64, id 11681, offset 0, flags [none], proto ICMP (1), length 84)
192.168.80.128 > 192.168.80.129: ICMP echo reply, id 1139, seq 1, length 64
echo request :请求包
echo reply:回复包
tos:服务类型:0x0表示正常的数据包,
实验二抓一个tcp的包–全部在文本模式下操作
[root@tcpdump-server ~]# yum install -y epel* 扩展源
[root@tcpdump-server ~]# yum install -y nginx
[root@tcpdump-server ~]# systemctl start nginx
[root@test-server ~]# yum install -y elinks #test机器安装elinks客户端工具
[root@test-server ~]# elinks --dump http://192.168.80.128/ #测试访问
[root@tcpdump-server ~]# tcpdump -i ens33 tcp -vv -nn -w tcp.txt #抓包tcp--在文本模式下
按shift键加pu键可以上翻。pd键可以下翻
[root@test-server ~]# elinks --dump http://192.168.80.128/ --访问
[root@tcpdump-server ~]# ls
anaconda-ks.cfg tcp.txt ---抓包生成的文件,不能用vim查看
[root@tcpdump-server ~]# tcpdump -r tcp.txt #读生成的文件
=======导入wireshark
[root@tcpdump-server ~]# tcpdump -i ens33 tcp -vv -nn | less
[root@test-server ~]# elinks --dump http://192.168.80.128/ --访问,文本模式下
SYN(synchronous建立联机)
ACK(acknowledgement 确认) 用.表示
PSH(push传送)
FIN(finish结束)
RST(reset重置)
URG(urgent紧急)
CWR
ECE
==========
Sequence number(顺序号码)
2.用客户端工具连接tcpdump-server的机器将产生的文件导入wireshark中
[root@tcpdump-server ~]# rm -rf tcp.txt #将原来的删除
[root@tcpdump-server ~]# ls
tcp.txt
[root@tcpdump-server ~]# sz tcp.txt #下载到桌面
交换机vlan:大公司在划分前都会联系机房拔线。status:端口和协议都要down 才允许操作
一、准备工作
jira7.3安装包
atlassian-jira-software-7.3.8-x64
jdk1.8
一台配置高点的机器,我这里采用的是4核4G
192.168.80.128---jira-server
二、安装过程
配置一些基础的环境
关闭`SELINUX`
关闭防火墙
推荐安装vim、rz(`lrzsz`)
1.安装jdk,将jdk上传到服务器中
[root@jira-server ~]# systemctl stop firewalld
[root@jira-server ~]# systemctl disable firewalld
[root@jira-server ~]# setenforce 0
[root@jira-server ~]# yum install -y vim wget lrzsz
[root@jira-server ~]# rz -y #上传jdk
[root@jira-server ~]# tar xzf jdk-8u191-linux-x64.tar.gz -C /usr/local/
[root@jira-server ~]# mv /usr/local/jdk1.8.0_191/ /usr/local/java
[root@jira-server ~]# vim /etc/profile
JAVA_HOME=/usr/local/java
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
[root@jira-server ~]# source /etc/profile
[root@jira-server ~]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
2.安装mariadb数据库
[root@jira-server ~]# yum -y install mariadb-server mariadb
[root@jira-server ~]# systemctl start mariadb
[root@jira-server ~]# systemctl enable mariadb
初始化数据库
[root@jira-server ~]# mysql_secure_installation
执行上一条语句后,很多同学不会处理接下来得交互问题,我接下来讲一下每个问题该如何回答
第一问:
In order to (此处省略若干字)…… . If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): (按回车键)
在问题的上方,mariadb
系统提示你:“如果你还没有root
密码,那密码应该是空的,因此你在这里应该按回车”,因为我们是初始化数据库,确实还没有root
密码,所以按回车键就好。
第二问:
Set root password? [Y/n] y
它问题是否设置root
密码,输入y
,设置
第三问及第四问:
New password:y
Re-enter new password:y
输入你的新密码:y
(这是我的密码,请你用你自己的!!)
把密码再输入一遍(进行确认):y
第五问:
Remove anonymous users? [Y/n]y
它问是否移除匿名用户?这是一种安全优化,移除匿名用户更安全,而且我们也不需要匿名登录,所以输入y
,移除
第六问:
Disallow root login remotely? [Y/n]n
它问是否允许root
用户远程登录?我们平常是使用Xhell
的,而且一些数据库管理工具也需要ssh
,不使用远程登录不便于我们学习,所以果断开启,输入n
,允许root
远程登录
第七问:
Remove test database and access to it? [Y/n]y
它问要移除test
数据库吗?数据在创建时,会默认添加一个test
数据库,实际上我们用不到,删除,输入y
第八问:
Reload privilege tables now? [Y/n]y
它问"现在重新加载特权表?",我不太了解特权表是什么,但是我们做了这么多关于初始化的设置,确实需要重新加载一些配置文件,所以我选了重新加载,输入y
最后命令行回显这个,就是配置完成了!
Thanks for using MariaDB!
[root@jira ~]#
创建jira
数据库
因为对数据库的命令不了解,所以以下内容来自网络。
等以后学习了数据库的知识,会再来修改这部分文档
# 登录mysql
[root@jira-server ~]# mysql -uroot -py
# 创建`jira`数据库
MariaDB [(none)]> create database jira default character set utf8 collate utf8_bin;
# 回显如下,代表数据库创建成功
Query OK, 1 row affected (0.00 sec)
# 退出数据库
MariaDB [(none)]> exit
[root@jira-server ~]#
安装jira7.3.8
将atlassian-jira-software-7.3.8-x64_2.bin
上传到服务器中,我的安装包在/root
下,安装包名atlassian-jira-software-7.3.8-x64_2.bin
[root@jira-server ~]# rz -y #上传atlassian-jira-software-7.3.8-x64_2.bin
设置权限
[root@jira-server ~]# chmod +x atlassian-jira-software-7.3.8-x64_2.bin
安装
[root@jira ~]# ./atlassian-jira-software-7.3.8-x64_2.bin
安装过程中jira
会问你几个问题,我在下面解释一下问题的意思
第一问:
This will install JIRA Software 7.3.8 on your computer.
OK [o, Enter], Cancel [c]
(输入`o` 或 按`回车`键)
这里是在通知你,将要在你的电脑上安装`JIRA 7.3.8`,输入`o` 或 按`回车`键,允许程序安装
第二问:
Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3]
(输入`1`)
系统提示你“选择适当的安装或升级选项”
这里三个选项的含义分别是快速安装(默认设置)
、自定义安装(适合高级用户)
以及升级现有的JIRA
我们这里选择1
,使用默认设置快速安装就好
第三问:
Details on where JIRA Software will be installed and the settings that will be used.
Installation Directory: /opt/atlassian/jira
Home Directory: /var/atlassian/application-data/jira
HTTP Port: 8080
RMI Port: 8005
Install as service: Yes
Install [i, Enter], Exit [e]
(输入`i` 或 按`回车`键)
这里是在提示你,默认设置是什么样的
默认安装路径是
/opt/atlassian/jira
默认家路径是
/var/atlassian/application-data/jira
其实,我还是觉得Home Directory
翻译成起始路径或有效路径比较好,翻译成家路径好像容易引起歧义,这里拿捏不准,为了便于读者直接联想到Home
这个单词,暂且选择翻译成家路径
默认监听端口是
HTTP Port: 8080
RMI Port: 8005
如果你同意默认设置,那么输入i
或按回车
,等待安装完成
在一小段时间的等待后,它还会蹦出一个问题
Installation of JIRA Software 7.3.8 is complete
Start JIRA Software 7.3.8 now?
Yes [y, Enter], No [n]
其实到这一步,安装已经完成了。系统在问你,是不是现在就启动JIRA
?我们接下来还要进行破解,需要替换JIRA
的文件,所以我们选择不启动,输入n
出现如下信息,代表安装成功
Installation of JIRA Software 7.3.8 is complete
Your installation of JIRA Software 7.3.8 is now ready.
Finishing installation ...
[root@jira-server ~]#
破解jira7.3.8
分为两部分,第一部分替换原文件,第二部分是跳过秘钥
将jira.zip包上传到服务器中
[root@jira-server ~]# rz -y #上传jira.zip包
[root@jira-server ~]# yum install -y unzip tree #安装解压工具与tree命令
[root@jira-server ~]# unzip jira7.3.zip
Archive: jira7.3.zip
inflating: jira7.3/atlassian-extras-3.2.jar
inflating: jira7.3/mysql-connector-java-5.1.39-bin.jar
[root@jira-server ~]# cd jira7.3/
破解jira7.3.8
(第一部分)
[root@jira-server jira7.3]# tree .
.
├── atlassian-extras-3.2.jar
└── mysql-connector-java-5.1.39-bin.jar
0 directories, 2 files
把破解包里的文件复制到/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/
目录下
[root@jira-server jira7.3]# \cp -f * /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/
cp
命令系统默认是cp -i
的别名,使用\cp
是告诉shell
不使用cp
命令的别名,可以使操作简单一点;即便没有加\
也别担心,只需要多按次回车就行
这里简单介绍一下两个jar
包的功能:
- atlassian-extras-3.2.jar:和license相关
- mysql-connector-java-5.1.39-bin.jar:jira连接mysql数据库相关的jar包
到这里破解的第一部分完成
开启jira
服务
[root@jira-server jira7.3]# cd
[root@jira-server ~]# /opt/atlassian/jira/bin/start-jira.sh
打开jira
首页测试服务是否成功启动,通过Windows
的浏览器访问jira
机器的IP地址:8090端口
,例如:
http://192.168.80.128:8080
配置数据库
选择使用自己的数据库后,会展开如下表单。因为我没有使用分离部署,所以Hostname
字段使用的就是127.0.0.1
,如果你是采用分离部署的方式安装,请输入你自己的数据库地址
这里需要等待的时间有点长,它在页面的最下方给了提示
Please wait while the database is set up. This may take a minute...
接下来比较的配置比较随意
下图是jira
应用的一些属性
这里解释一下Mode
的两种模式
- Private模式:只有管理员才能创建新的工单
- Public模式:任何能登录的人都能创建工单
我这里选择了Private
破解jira7.3.8
(第二部分)
Server ID
页面
回到
申请试用码要完成这个表单,需要你注意的是,这里要选Jira Software(Server)
Jira Software(Server)
与Jira Software(Data Center)
的左右顺序是会变动的,不要无脑选左边
获得License Key
将License Key
粘贴进jira
页面
粘贴进去后,点击Next
,如果能出现接下里步骤的页面,就算成功跳过License Key
了。至此,破解第一、二部分均完成。
点击Finish
,完成安装
系统会在底部提示你
Please wait while the final step of the JIRA installation is being performed...
意思是“正在执行JIRA安装的最后一步,请稍候……”
选择语言
选择完语言后,还有一步选择头像,
这个时候你们就可以玩了
如何启动和关闭jira
?
# 启动 jira [root@jira-server jira7.3]# /opt/atlassian/jira/bin/start-jira.sh # 关闭 jira [root@jira-server jira7.3]# /opt/atlassian/jira/bin/stop-jira.sh
我该怎么删除jira
呢?
在安装时,
jira
会提示你将其安装在了什么位置(如果你忘记了,可以再读一遍安装文档);如果是使用默认配置进行安装,那只需要执行如下命令即可:
[root@jira-server ~]# rm -rf /opt/atlassian/jira [root@jira-server ~]# rm -rf /var/atlassian/application-data/jira
需要你注意的是,使用绝对路径进行删除是个不好的习惯,建议你先进入目录再删除。
除此之外,还需要你删除
jira
的用户和组,否则你再安装jira
的时候,jira
的用户名会被命名为jira1
、jira2
……具体方法是
[root@jira-server ~]# userdel -r jira