FisherMan:通过Selenium收集Facebook用户资料

关于FisherMan

FisherMan是一款功能强大的社交媒体信息收集工具,FisherMan基于Selenium实现其功能,

可以帮助广大研究人员利用Selenium来收集Facebook用户的个人资料信息。

工具安装

FisherMan基于Python开发,因此我们需要在本地设备上安装并配置好Python环境。

接下来,我们需要使用下列命令将该项目源码克隆至本地:

$ git clone https://github.com/Godofcoffe/FisherMan

在命令行窗口中,切换至项目根目录,并安装好工具所需的依赖组件:

$ cd FisherMan

$ python3 -m pip install -r requeriments.txt

工具使用

$ python3 fisherman.py --help

usage: fisherman.py [-h] [--version] [-u USERNAME [USERNAME ...] | -i ID

                    [ID ...] | --use-txt TXT_FILE | -S USER] [-v | -q] [-sf]

                    [--specify {0,1,2,3,4,5} [{0,1,2,3,4,5} ...]] [-s]

                    [--filters]

                    [-work WORK | -education EDUCATION | -city CITY] [-b]

                    [--email EMAIL] [--password PASSWORD] [-o | -c]


FisherMan: Extract information from facebook profiles. (Version 3.6.0)


optional arguments:

  -h, --help            show this help message and exit

  --version             Shows the current version of the program.

  -u USERNAME [USERNAME ...], --username USERNAME [USERNAME ...]

                        Defines one or more users for the search.

  -i ID [ID ...], --id ID [ID ...]

                        Set the profile identification number.

  --use-txt TXT_FILE    Replaces the USERNAME parameter with a user list in a

                        txt.

  -S USER, --search USER

                        It does a shallow search for the username. Replace the

                        spaces with '.'(period).

  -v, -d, --verbose, --debug

                        It shows in detail the data search process.

  -q, --quiet           Eliminates and simplifies some script outputs for a

                        simpler and more discrete visualization.

  -b, --browser         Opens the browser/bot.


search options:

  --filters             Shows the list of available filters.

  -work WORK            Sets the work filter.

  -education EDUCATION  Sets the education filter.

  -city CITY            Sets the city filter.


profile options:

  -sf, --scrape-family  If this parameter is passed, the information from

                        family members will be scraped if available.

  --specify {0,1,2,3,4,5} [{0,1,2,3,4,5} ...]

                        Use the index number to return a specific part of the

                        page. about: 0, about_contact_and_basic_info: 1,

                        about_family_and_relationships: 2, about_details: 3,

                        about_work_and_education: 4, about_places: 5.

  -s, --several         Returns extra data like profile picture, number of

                        followers and friends.


credentials:

  --email EMAIL         If the profile is blocked, you can define your

                        account, however you have the search user in your

                        friends list.

  --password PASSWORD   Set the password for your facebook account, this

                        parameter has to be used with --email.


output:

  -o, --file-output      Save the output data to a .txt file.

  -c, --compact         Save the output data to a .txt file and compress.

搜索目标用户

用户名搜索:

python3 fisherman.py -u name name.profile name.profile2

ID搜索:

python3 fisherman.py -i 000000000000

我们也可以通过一个.txt文件加载多个目标用户名,这种情况适用于暴力破解输出类型:

python3 fisherman.py --use-txt filename.txt

注意:某些账号只能搜索有限的信息,并且受限于用户的好友列表:

python3 fisherman.py --email youremail@email.com --password yourpass

大规模信息收集

python3 fisherman.py --use-txt file -c -sf

基础数据收集

python3 fisherman.py -u name --specify 0

家庭和关系收集

python3 -u name --specify 2

获取额外信息(例如用户头像、粉丝和好友)

python3 fisherman.py -u name [-s | --several]

过滤搜索结果

python3 fisherman.py -S name -work fisherman

工具使用演示

视频地址: 点我观看

许可证协议

本项目的开发与发布遵循BSD 3-Clause开源许可证协议。

项目地址

FisherMan: GitHub传送门

最后

网络安全工程师企业级学习路线

如图片过大被平台压缩导致看不清的话,扫码领取CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

在这里插入图片描述

视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
在这里插入图片描述
​​
一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫码领取CSDN大礼包:《黑客&网络安全入门&进阶学习资源包免费分享

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

特别声明:

此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是使用Fisherman jce配合加密卡sm3加密的Java代码示例: ```java import cn.fisherman.security.sm.SM3Digest; import cn.fisherman.security.sm.SM3Key; import cn.fisherman.security.sm.SM3KeyGenerator; import cn.fisherman.security.sm.SM3ParameterSpec; import cn.fisherman.security.sm.SM3PrivateKey; import cn.fisherman.security.sm.SM3PublicKey; import cn.fisherman.security.sm.SM3Signature; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.Security; import java.security.Signature; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public class SM3Test { public static void main(String[] args) throws Exception { Security.addProvider(new cn.fisherman.security.jce.provider.FishermanProvider()); // 生成SM3密钥对 SM3KeyGenerator keyGen = new SM3KeyGenerator(); SM3Key key = keyGen.generateKey(); SM3PrivateKey privateKey = key.getPrivate(); SM3PublicKey publicKey = key.getPublic(); // SM3加密 SM3Digest digest = new SM3Digest(); byte[] data = "Hello World!".getBytes(); digest.update(data, 0, data.length); byte[] result = new byte[digest.getDigestSize()]; digest.doFinal(result, 0); System.out.println("SM3加密结果:" + bytesToHex(result)); // SM3签名 SM3Signature signature = new SM3Signature(); signature.initSign(privateKey); signature.update(data, 0, data.length); byte[] sign = signature.sign(); System.out.println("SM3签名结果:" + bytesToHex(sign)); // SM3验签 signature.initVerify(publicKey); signature.update(data, 0, data.length); if (signature.verify(sign)) { System.out.println("SM3验签成功"); } else { System.out.println("SM3验签失败"); } // AES加密 byte[] keyBytes = "1234567890abcdef".getBytes(); byte[] ivBytes = "0123456789abcdef".getBytes(); SecretKeySpec keySpec = new SecretKeySpec(keyBytes, "AES"); IvParameterSpec ivSpec = new IvParameterSpec(ivBytes); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding", "FishermanJCE"); cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec); byte[] cipherText = cipher.doFinal(data); System.out.println("AES加密结果:" + bytesToHex(cipherText)); // AES解密 cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); byte[] plainText = cipher.doFinal(cipherText); System.out.println("AES解密结果:" + new String(plainText)); // RSA加密 KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA", "FishermanJCE"); keyPairGen.initialize(2048); KeyPair keyPair = keyPairGen.genKeyPair(); Cipher rsaCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding", "FishermanJCE"); rsaCipher.init(Cipher.ENCRYPT_MODE, keyPair.getPublic()); byte[] rsaCipherText = rsaCipher.doFinal(data); System.out.println("RSA加密结果:" + bytesToHex(rsaCipherText)); // RSA解密 rsaCipher.init(Cipher.DECRYPT_MODE, keyPair.getPrivate()); byte[] rsaPlainText = rsaCipher.doFinal(rsaCipherText); System.out.println("RSA解密结果:" + new String(rsaPlainText)); // 数字签名 Signature rsaSignature = Signature.getInstance("SHA256withRSA", "FishermanJCE"); rsaSignature.initSign(keyPair.getPrivate()); rsaSignature.update(data, 0, data.length); byte[] rsaSign = rsaSignature.sign(); System.out.println("RSA数字签名结果:" + bytesToHex(rsaSign)); // RSA验签 rsaSignature.initVerify(keyPair.getPublic()); rsaSignature.update(data, 0, data.length); if (rsaSignature.verify(rsaSign)) { System.out.println("RSA验签成功"); } else { System.out.println("RSA验签失败"); } } private static String bytesToHex(byte[] bytes) { StringBuilder builder = new StringBuilder(); for (byte b: bytes) { builder.append(String.format("%02x", b)); } return builder.toString(); } } ``` 注意,这里使用了Fisherman JCE提供的SM3实现,需要先导入Fisherman JCE的jar包。另外,加密卡的具体使用方式可能需要根据加密卡的具体型号和使用场景进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值